it-swarm.com.de

So erstellen Sie einen Shortcode mit 1 Parameter (atts)

Ich habe Probleme, einen Shortcode für 1 Attribut zu erhalten.

Hier ist mein Shortcode [sme_user-email userID="2"]

Hier sind meine Skripte - keines von ihnen funktioniert.

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');

Dieser funktioniert - aber ich möchte die Benutzer-ID nicht fest codieren. Ich hatte gehofft, es dynamisch machen zu können

function getUserEmail_func($atts) {
    $user_info = get_userdata(2);
    return $user_info->user_email;
}
add_shortcode('sme_user-email', 'getUserEmail_func');

5
tammy

So sollten Sie einen Shortcode erstellen.

Zuerst müssen Sie $atts item in get_userdata definieren, da $atts ein Array ist. Ich denke, es gibt auch einige Probleme mit Großbuchstaben für Attributnamen, daher sollten Sie Attribut in Kleinbuchstaben verwenden. Verwenden Sie also anstelle von userIDuserid.

function getUserEmail_func( $atts ) {
    $user_info = get_userdata( $atts['userid'] );
    return $user_info->user_email;
}
add_shortcode( 'sme_user-email', 'getUserEmail_func' );

Habe es getestet und es funktioniert.

12
Robert hue