默认一般wordpress显示的是用户名,除了在后台设置昵称后选择显示昵称才会正常显示,
但是有部分主题使用了前端用户中心,去除了进入后台,就没办法像后台那样选择了,或者主题做上去
但是有直接点的方式就是使用函数去做一个默认,也同时在一些通稿 评论中起到了保护用户隐私的一些作用
直接在functions.php加入这段代码
//mkm.st使用昵称来替换用户名显示 functionmkm_request( $query_vars ) { if ( array_key_exists( 'author_name', $query_vars ) ) { global $wpdb; $author_id = $wpdb->get_var( $wpdb->prepare( "SELECT user_id FROM {$wpdb->usermeta} WHERE meta_key='nickname' AND meta_value = %s", $query_vars['author_name'] ) ); if ( $author_id ) { $query_vars['author'] = $author_id; unset( $query_vars['author_name'] ); } } return $query_vars; } add_filter( 'request', 'inlojv_request' ); //mkm.st使用昵称替换链接中的用户名 functionmkm_author_link( $link, $author_id, $author_nicename ) { $author_nickname = get_user_meta( $author_id, 'nickname', true ); if ( $author_nickname ) { $link = str_replace( $author_nicename, $author_nickname, $link ); } return $link; } add_filter( 'author_link', 'inlojv_author_link', 10, 3 );
如果,我是说如果,如果使用博主上面的代码报错的朋友,可以试试我的链接里分享的代码。实现注册用户优先显示昵称,如果没有设置昵称的依然显示用户名。最大的优点是让肩访客填写的昵称不会显示成匿名,而是正常显示出来。
最好是配合用户注册时就强制要求填写好昵称的插件。
为什么用了直接报错