• Chi sono
  • Contattami
  • Feed RSS
  • FlipBoard

Karibusana

  • MacOs
  • WordPress
  • iPhone
  • Jailbreak
  • Marketing
  • SEO
  • Creo il tuo sito
Ti trovi qui: Home / WordPress / Crea automaticamente pagine per nuovo utente

Crea automaticamente pagine per nuovo utente

Aggiornato da Vincenzo Vecchio il 28 Febbraio, 2018 14 commenti

creare pagine automatihce wordpress

Di recente mi è capitato di dovere creare automaticamente delle pagine personali per ogni utente appena registrato in un sito creato in WordPress.

La nuova pagina creata avrà come titolo l’username del nuovo utente appena registrato! Funzione molto utile se si vuole utilizzare il plugin S2Member e le Custom Capabilities per la creazione di aree private.

Prima di continuare a leggere vi invito a leggere il codex ufficiale di WordPress al seguente indirizzo: Function Reference/wp insert post

La funzione che utilizzeremo è <?php wp_insert_post( $post, $wp_error ); ?>  appositamente modificata per il nostro scopo. Quello che dovrete fare è semplicemente copiare ed incollare il seguente script nel file functions.php contentuo all’interno del vostro tema.

// Crea nuova pagina utente al momento della registrazione
[php]
function karibusana_create_page($user_id){

$the_user = get_userdata($user_id);
$new_user_name = $the_user->user_login;
$my_post = array();
$my_post[‘post_title’] = $new_user_name;
$my_post[‘post_type’] = ‘page’;
$my_post[‘comment_status’] = ‘closed’;
$my_post[‘post_content’] = ‘Benvenuto! stiamo impostando la tua pagina personale, questa sarà disponibile a breve’;
$my_post[‘post_status’] = ‘publish’;
wp_insert_post($my_post);

}

add_action(‘user_register’, ‘karibusana_create_page’);
[/php]

Vi ricordo che è possibile anche creare dei nuovi post e non solo delle pagine, per fare questo basta cambiare la variabile $my_post[‘post_type’] = ‘page’; in $my_post[‘post_type’] = ‘post’;

Ho recentemente ricevuto delle richieste su come personalizzare ulteriormente questa funzione ad esempio su come indirizzare gli utenti alla loro pagina perosnale subito dopo aver eseguito il login o su come creare un pulsante nel menù che rimandi alla pagina privata di ogni singolo utente, per questo ho deciso di aggiornare questo articolo e di seguito trovate le due funzioni da inserire nel file functions.php del vostro tema.

// Funzione per re-indirizzare automaticamente gli utenti dopo il login
[php]
function karibusana_login_redirect( $redirect_to, $url, $user ) {

global $user;
get_currentuserinfo();

if(isset( $user->roles) && is_array($user->roles)) {
//controllo se amministratore
if(in_array("administrator", $user->roles)){

// indirizzo amministratore su dashboard
$redirect_to = admin_url();

}else {

// indirizzo utente alla sua pagina
$redirect_to = home_url( ‘/’ . $user->user_login );

}
}

return $redirect_to;
}

add_filter(‘login_redirect’, ‘karibusana_login_redirect’, 10, 3);
[/php]

// Funzione per creare pulsante nel menu
[php]
function karibusana_menu_button($items){

// Controllo se l’utente è connesso per mostrare il pulsante solo agli utenti connessi
if(is_user_logged_in()){

// Ottengo i dati dell’utente
global $current_user;
get_currentuserinfo();
// Creo variabile per indirizzare l’utente a www.miosito.it/nomeutente
$url = home_url( ‘/’ . $current_user->user_login . ‘/’ );
// Titolo dle pulsante
$title = ‘Pagina Utente’;
// Aggiungo il pulsante al menu
$items .= ‘<li><a href="’ . $url . ‘">’ . $title . ‘</a></li>’;

}

return $items;
}

add_filter( ‘wp_nav_menu_items’, ‘karibusana_menu_button’ );
[/php]

Ti serve aiuto per personalizzare il tuo sito WordPress? Non esitare a contattarmi

Altri articoli che potrebbero interessarti

Gestire più wordpress con infinitewp
Infinite WP: come gestire tutti i siti WordPress da un’unica interfaccia
Ruoli e permessi di Wordpress
Guida ai ruoli e permessi di WordPress
wordpress google page speed
Ottimizza WordPress con Google Page Speed

Vincenzo Vecchio

Appassionato di tecnologia. Da molti anni mi occupo della realizzazione di siti web utilizzando i più comuni CMS. In particolare WordPress e Joomla. Di recente mi sono anche avvicinato al modo Apple e a tutti i suoi prodotti.

Seguimi su : FacebookGoogle+Twitter

Commenti

  1. Ganpaolo dice

    4 Maggio 2018 alle 13:49

    Ciao Vincenzo .. Molto utile ed interessante il tuo articolo. Mi chiedevo se con alcune modifiche al codice era possibile far creare in automatico (alla registrazione di un utente) una pagina visibile a tutti con link personalizzabili e possibilità di aggiornamento di questa pagina dalla dashboard utente. Sto utilizzando già il plugin eMember per l’area riservata.

    Come potrei risolvere fare?

    Rispondi
    • Vincenzo dice

      4 Maggio 2018 alle 19:54

      Ciao Giampaolo, non riesco a capire bene cosa vorresti fare. Se ti serve una pagina che sia uguale per tutti non avrebbe senso crearla di nuovo ogni volta che un utente si registra. Forse ha più senso creare una pagina ed impostare la visualizzazione del contenuto solo per utenti appartenenti ad uno specifico gruppo o con particolari permessi.

    • Gianpaolo dice

      6 Maggio 2018 alle 8:56

      Ciao Vincenzo… Grazie per la tua risposta. Si, infatti non è molto chiaro.
      Si la pagina è uguale per tutti ma ad esempio, il link per i social, non sono uguali per tutti, l’immagine del profilo, ed eventualmente neanche i link per affiliazione esterni. Sono interessato a personalizzare, dall’area riservata utente, questi dati, in modo che ognuno di loro possano inserire i propri dati. Spero sia più comprensibile… Grazie

    • Vincenzo dice

      7 Maggio 2018 alle 12:29

      Ciao Gianpaolo purtroppo non credo che sia facile creare un processo automatizzato che ti permetta di inserire dei link specifici per ogni singolo utente, per quanto riguarda l’immagine del profilo, se non sbagli utilizzi eMember, io non ho mai utilizzato questo plugin però facxendo una ricerca onliine ho trovato questo post che potrebbe fare al caso tuo https://www.tipsandtricks-hq.com/forum/topic/emember-profile-picture

  2. Valter dice

    28 Marzo 2018 alle 15:59

    Ciao Vincenzo,
    mi sono appena iscritto alla tua newsletter, avevo bisogno di un aiuto ho appena letto il tuo articolo su “Crea automaticamente pagine per nuovo utente”.
    Nel mio caso essendo una scuola ho utenti diversi alcuni per materia d’insegnamento, mi servirebbe che quando quelli di un certo corso si loggano vadano direttamente nella loro pagina privata e non in altre.
    Potresti aiutarmi?
    Grazie
    Valter

    Rispondi
    • Vincenzo dice

      28 Marzo 2018 alle 16:07

      Ciao Valter benvenuto nella newsletter di Karibusana. Con il sistema descritto nell’articolo è possibile creare delle pagine per singoli utenti, ogni utente potrà solo accedere alla sua pagina. Forse a te serve una pagina che sia visibile a per un certo gruppo di utenti? In questo caso forse il plugin Groups protrebbe fare al caso tuo. Per una consulenza più dettagliata non esitare a contattarmi per email

  3. Emanuele Fedrici dice

    26 Febbraio 2018 alle 22:43

    …purtroppo funziona solamente per impostare la Login Welcome Page all’interno del plugin s2Member, io ho bisogno di mettere un url del tipo: http://www.miosito.it/nomeutenteconnesso/ all’interno del menu… e in questo caso purtroppo le sintassi di tipo %%current_user_login%% non funzionano…
    non riesco a trovare una soluzione 🙁

    Rispondi
    • Vincenzo dice

      27 Febbraio 2018 alle 8:43

      Ciao Emanuele ti ho inviato la soluzione al tuo indirizzo email. Spero di esserti stato d’aiuto. A presto 😉

  4. Emanuele Fedrici dice

    26 Febbraio 2018 alle 12:00

    Grazie funziona!
    Ho impostato la pagina come privata e edita dall’utente che si sta registrando,
    Mi è rimasto un dubbio:
    Come posso creare un link che vada poi alla pagina personale dell’utente connesso?
    Ovviamente deve variare in base all’utente connesso…

    Rispondi
    • Vincenzo dice

      26 Febbraio 2018 alle 14:31

      Ottimo, puoi provare a seguire questa guida https://s2member.com/kb-article/customizing-your-login-welcome-page/ per indirizzare gli utenti alla loro pagina dopo il login. Non ho avuto il tempo di testarlo ma dovrebbe funzionare.

  5. Emanuele Fedrici dice

    25 Febbraio 2018 alle 22:36

    Domanda: se volessi settate come privato il post e come autore l’utente che si sta registrando?

    Rispondi
    • Vincenzo dice

      26 Febbraio 2018 alle 9:09

      Ciao Emanuele la risposta alla tua domanda è nell’articolo, controlla il codice per ulteriori modifiche e personalizzazioni

  6. giovanni dice

    11 Aprile 2014 alle 18:33

    Ciao Vincenzo,
    mi collego a questo post per chiederti un consiglio: devo creare un sito per un ordine professionale (con wordpress, logicamente).
    Sono alla ricerca di un plugin – anche a pagamento – con il quale, quando un utente si iscrive, venga creata automaticamente la propria pagina personale (logicamente visibile solo a lui e all’amministratore) e nella quale l’amministratore potrà inserire dei contenuti esclusivi solo per quell’utente (ad esempio degli attestati personali in pdf).
    Ne sto provando molti, ma o sono incompleti o creano solo il form di registrazione/login personalizzato o non creano queste pagine personali.
    Sapresti indicarmi qualche plugin?
    Quelli che ho provato sono:
    WP Members
    Register Plus Redux
    Sideways8 private pages
    Customer Area
    S2member (che sto provando ora ma è alquanto “ostico”…)

    Rispondi
    • Vincenzo Vecchio dice

      11 Aprile 2014 alle 22:17

      Ciao Giovanni ti consiglio di utilizzare s2member, ti permette di creare pagine e aree personali per ciascun utente, puoi seguire la guida che ho linkato nell’articolo. Se ti serve aiuto posso svilppare un semplice plugin a pagamento, magari scrivimi una email per ulteriori dettagli 😉

Lascia un commento Annulla risposta

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Articoli Recenti

  • Come creare contenuti privati per utenti
  • Come disabilitare la GPU AMD Radeon su MacBook Pro
  • Come creare area riservata WordPress senza plugins
  • GDPR e WordPress la guida definitiva per il tuo sito
  • Come ottimizzare i CSS per avere 100/100 su Google PageSpeed
  • Integrare Gravity Forms con MyCred

Commenti Recenti

  • Vincenzo su Come disabilitare la GPU AMD Radeon su MacBook Pro
  • Francesca su Come disabilitare la GPU AMD Radeon su MacBook Pro
  • Francesca su Come disabilitare la GPU AMD Radeon su MacBook Pro
  • Vincenzo su Come disabilitare la GPU AMD Radeon su MacBook Pro

Archivi

  • Febbraio 2020 (1)
  • Dicembre 2019 (1)
  • Agosto 2018 (1)
  • Aprile 2018 (1)
  • Marzo 2018 (1)

© 2021 · Cookie Policy · Privacy Policy