Cum se creează un shortcode cu 1 parametru (atts)
21 dec. 2014, 21:14:01
Vizualizări: 72.5K
Voturi: 17
Am probleme în a face să funcționeze un shortcode cu 1 atribut.
Iată shortcode-ul meu [sme_user-email userID="2"]
Acestea sunt script-urile mele - niciunul nu funcționează.
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');
Acesta funcționează -- dar nu vreau să hardcodez ID-ul utilizatorului. Speram să pot face acest lucru în mod dinamic
function getUserEmail_func($atts) {
$user_info = get_userdata(2);
return $user_info->user_email;
}
add_shortcode('sme_user-email', 'getUserEmail_func');
Toate răspunsurile la întrebare
1
2
Iată cum ar trebui să creezi un shortcode.
Mai întâi va trebui să definești elementul $atts
în get_userdata
deoarece $atts
este un array. De asemenea, cred că există și unele probleme cu numele atributelor în majuscule, așa că ar trebui să folosești atributul cu litere mici. Deci în loc de userID
, folosește userid
.
function getUserEmail_func( $atts ) {
$user_info = get_userdata( $atts['userid'] );
return $user_info->user_email;
}
add_shortcode( 'sme_user-email', 'getUserEmail_func' );
Am testat și funcționează.

Robert hue
8.56K
21 dec. 2014 21:31:24
Comentarii
Uimitor @Roberthue...MAJUSCULELE sunt o problemă. Nu aș fi descoperit niciodată asta singur.

21 dec. 2014 21:40:03
Întrebări similare
2
răspunsuri
11
răspunsuri
4
răspunsuri
5
răspunsuri