Come creare uno shortcode con 1 parametro (atts)
21 dic 2014, 21:14:01
Visualizzazioni: 72.5K
Voti: 17
Ho difficoltà a far funzionare uno shortcode con 1 attributo.
Ecco il mio shortcode [sme_user-email userID="2"]
Ecco i miei script - nessuno di questi funziona.
function getUserEmail_func($atts) {
extract(shortcode_atts(array('userID' => 1,), $atts));
$user_info = get_userdata($atts);
return $user_info->user_email;
}
add_shortcode('sme_user-email', 'getUserEmail_func');
.
function getUserEmail_func($atts) {
$user_info = get_userdata($atts);
return $user_info->user_email;
}
add_shortcode('sme_user-email', 'getUserEmail_func');
.
function getUserEmail_func($atts) {
$user_info = get_userdata($atts['userID]');
return $user_info->user_email;
}
add_shortcode('sme_user-email', 'getUserEmail_func');
Questo funziona -- ma non voglio codificare l'ID utente direttamente. Speravo di poterlo fare dinamicamente
function getUserEmail_func($atts) {
$user_info = get_userdata(2);
return $user_info->user_email;
}
add_shortcode('sme_user-email', 'getUserEmail_func');
Tutte le risposte alla domanda
1
2
Ecco come dovresti creare uno shortcode.
Per prima cosa dovrai definire l'elemento $atts
in get_userdata
perché $atts
è un array. Inoltre credo ci siano anche alcuni problemi con i nomi degli attributi in maiuscolo, quindi dovresti usare l'attributo in minuscolo. Quindi invece di userID
, usa userid
.
function getUserEmail_func( $atts ) {
$user_info = get_userdata( $atts['userid'] );
return $user_info->user_email;
}
add_shortcode( 'sme_user-email', 'getUserEmail_func' );
L'ho testato e funziona.

Robert hue
8.56K
21 dic 2014 21:31:24
Commenti
Fantastico @Roberthue... IL MAIUSCOLO è un problema. Non ci sarei mai arrivato da solo.

21 dic 2014 21:40:03
Domande correlate
11
risposte
5
risposte