是否可以在评论部分将用户名更改为昵称?
以下是我当前用于在注释部分显示用户用户名的代码:
<?php
/* translators: 1: comment author, 2: date and time */
printf( \'%1$s %2$s \',
sprintf( \'<span>%s</span>\', get_comment_author_link() ),
sprintf( \'\',
esc_url( get_comment_link( $comment->comment_ID ) ),
get_comment_time( \'c\' ),
/* translators: 1: date, 2: time */
sprintf( \'%1$s ، %2$s\', get_comment_date("d M Y"), get_comment_time() )
));
?>
我尝试使用下面的代码而不是上面的代码来显示昵称:
<?php
$commenter_id = $comment->user_id;
$commenter_name = get_usermeta($commenter_id,\'nickname\');?>
<?php echo $commenter_name; ?>
但问题是,在来宾用户发布评论后,它不会显示他在发布评论前添加的名称。
谢谢
最合适的回答,由SO网友:Robert hue 整理而成
是的,当然它不会显示客人评论的任何名称,因为他们不是您网站的注册用户,所以他们没有任何nickname
关联。
在这种情况下,您可以做的是,如果评论是由用户或客人做出的,则在打印昵称之前添加一个检查。并据此采取行动。
因此,这是您想要使用的代码。
if ( $comment->user_id != \'0\' ) {
echo \'<span class="some-class">\' . get_user_meta( $comment->user_id, \'nickname\', true ) . \'</span>\';
} else {
echo \'<span class="other-class">\' . get_comment_author_link() . \'</span>\';
}
这将检查注释者是否
user_id
是
0
(对于来宾),然后将显示带有链接url的来宾名称(默认),如果是用户,则将打印用户的昵称。