Sviluppo WordPress

Uno shortcode per visualizzare i dati utente in WordPress

Spesso è necessario mandare a video uno o alcuni dei dati associati al profilo dell’utente collegato (nickname, indirizzo email, nome, cognome o ID).

Per eseguire il task è necessario istallare un plugin, oppure aggiungere qualche riga di codice al file functions.php del tema corrente.

In casi del genere, una soluzione efficiente potrebbe essere quella di creare uno shortcode, in modo che l’amministratore del sito possa aggiungere questi dati ovunque ne abbia bisogno.

Si supponga di voler creare lo shortcode [userdata].

Allo shortocode potrà essere assegnato uno (ed uno solo) dei seguenti attributi:

  • user_login
  • user_email
  • user_firstname
  • user_lastname
  • display_name
  • ID

Ecco il codice:

// create [userdata] shortcode
function get_current_userdata_cb( $atts ){
    if ( is_user_logged_in() ) { 
        // get the current user
        $cu = wp_get_current_user();

        switch ( $atts[0] ) {
            case 'user_login':
                return $cu->user_login;
                break;
            case 'user_email':
                return $cu->user_email;
                break;
            case 'user_firstname':
                return $cu->user_firstname;
                break;
            case 'user_lastname':
                return $cu->user_lastname;
                break;
            case 'display_name':
                return $cu->display_name;
                break;
            case 'ID':
                return $cu->ID;
                break;
            default:
                return $cu->user_login;
                break;
        }

    }else{
        return '';
    }
}
add_shortcode( 'userdata', 'get_current_userdata_cb' );

Se l’utente è collegato (is_user_logged_in), viene creata un’istanza della classe WP_User (wp_get_current_user).

Il primo attributo passato allo shortcode (atts[0]) viene confrontato con i possibili valori delle proprietà dell’oggetto WP_User ($cu->{$prop}).
Individuata la corrispondenza, viene restituito il valore della proprietà e interrotta l’esecuzione della funzione.

Ora basterà inserire in un post lo shortcode [userdata display_name] per visualizzare il nome dell’utente autenticato generato dinamicamente da WordPress.


Commenti

Una risposta a “Uno shortcode per visualizzare i dati utente in WordPress”

  1. Buongiorno,
    grazie per il tuo codice molto utile e risolutivo. Mi chiedevo tuttavia se per caso era possibile visualizzare prima del nome utente la frase: Ciao,

    Ho provato ad inserite lo shortcode con la sintassi: Ciao, [userdata display_name], ma non funziona.

    Grazie se potessi trovare il tempo per rispondermi.

    Cordiali saluti
    Sergio

Lascia un commento

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