WordPress主题中使用昵称来替换用户名显示

默认一般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 );

专收爆米花

一枚苦逼的理工妹纸毕业后加入电商创业群体,所谓一入电商(淘宝)深似海,好在苦尽甘来,现在在工作之余也有时间有条件研究学习web前后端开发...

留下你的评论

*评论支持代码高亮<pre class="prettyprint linenums">代码</pre>

相关推荐