是否显示登录用户的名字?

时间:2020-07-06 作者:023023

我正在尝试创建短代码,在文本小部件中同时显示化身和登录用户的名字。我已经设法创建了一些显示头像的东西,但没有显示用户名。

我的代码如下:

    <?php
// show user avatar if logged in
function colaborator_avatar($atts)
{
    if (is_user_logged_in() && !is_feed()) {
        return get_avatar(get_the_author_meta( \'user_email\' ));
    }
}
add_shortcode(\'colaborator_avatar\', \'colaborator_avatar\');

// show user avatar if logged in
/**/
function colaborator_nome($atts)
{
    if (is_user_logged_in() && !is_feed()) {
    return get_user_meta( $new_user->ID, \'first_name\', true );

    }
}
add_shortcode(\'colaborator_nome\', \'colaborator_nome\');

?>
请记住,这不是针对特定ID,而是要在屏幕上显示登录的用户。

顺便问一下,是否可以定义化身的大小?

已编辑:更正了代码中的键入错误。

2 个回复
最合适的回答,由SO网友:Fredrik 整理而成

这里的问题是,这两个函数的名称相同-colaborator\\u avatar()。

确保$new\\u user包含当前用户。否则,请使用get\\u current\\u user\\u id(),如下所示:

get_user_meta( get_current_user_id(), \'first_name\', true );
显示头像和名字:

// show user avatar if logged in
function colaborator_avatar($atts)
{
    if (is_user_logged_in() && !is_feed()) {
        return get_avatar(get_the_author_meta( \'user_email\' ));
    }
}
add_shortcode(\'colaborator_avatar\', \'colaborator_avatar\');

// show username if logged in
function colaborator_nome($atts)
{
    if (is_user_logged_in() && !is_feed()) {
    return get_user_meta( $new_user->ID, \'first_name\', true );

    }
}
add_shortcode(\'colaborator_nome\', \'colaborator_nome\');
或显示用户名:

function colaborator_nome($atts) {     
    if (is_user_logged_in() && !is_feed()) {    
        $current_user = wp_get_current_user();
        echo $current_user->user_login;
    } 
} 

add_shortcode(\'colaborator_nome\', \'colaborator_nome\'); 

SO网友:mozboz

我搜索了“wordpress获取登录用户的名称”,第一个结果是wp_get_current_user, 将显示登录的用户名。如何使用该页面中的示例:

$current_user = wp_get_current_user();
 
/*
 * @example Safe usage: $current_user = wp_get_current_user();
 * if ( ! ( $current_user instanceof WP_User ) ) {
 *     return;
 * }
 */
printf( __( \'Username: %s\', \'textdomain\' ), esc_html( $current_user->user_login ) ) . \'<br />\';
printf( __( \'User email: %s\', \'textdomain\' ), esc_html( $current_user->user_email ) ) . \'<br />\';
printf( __( \'User first name: %s\', \'textdomain\' ), esc_html( $current_user->user_firstname ) ) . \'<br />\';
printf( __( \'User last name: %s\', \'textdomain\' ), esc_html( $current_user->user_lastname ) ) . \'<br />\';
printf( __( \'User display name: %s\', \'textdomain\' ), esc_html( $current_user->display_name ) ) . \'<br />\';
printf( __( \'User ID: %s\', \'textdomain\' ), esc_html( $current_user->ID ) );

相关推荐

重写WordPress中$ATTS SHORTCODE_ATTS内的类

我有一个插件,我需要调整一个函数。特别是\'class\' => \'\'. 这是插件中的代码:function message_to( $atts, $content = null, $tag = \'\' ) { $atts = shortcode_atts( array( \'to\' => \'{current-post-author}\', \'subject\' => \'{current-po