当前位置:网站首页 > WordPress教程 > 正文
将WordPress作者存档链接中的用户名改为昵称
作者:xlnxin发布时间:2021-04-15分类:WordPress教程浏览:513
导读:默认情况下,修改固定链接为非默认带?的样式以后,作者...
默认情况下,修改固定链接为非默认带?的样式以后,作者存档的链接一般为 http://域名/author/用户名,这样就直接暴露了登录WordPress的用户名,存在安全隐患。一个不错的解决方法是将WordPress作者存档链接中的用户名改为昵称。
将下面的代码添加到当前主题的 functions.php 中:
1234567891011121314151617181920212223242526272829 | /** * 将WordPress作者存档链接中的用户名改为昵称 * https://www.wpdaxue.com/use-nickname-for-author-slug.html *///使用昵称替换用户名,通过用户ID进行查询add_filter( 'request', 'wpdaxue_request' );function wpdaxue_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( 'author_link', 'wpdaxue_author_link', 10, 3 );function wpdaxue_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;} |
接着我们在个人资料中修改昵称为其他名称,如下图,用户 demo 的昵称改为了 changmeng,这样一来,作者存档的链接就自动由 http://域名/author/demo 变成了 http://域名/author/changmeng
此外,记得将“公开显示为”设置为非用户名,这样就OK啦!
注意:昵称不要包含空格,同时不建议使用中文;如果是多用户博客,可能会存在昵称相同的情况,这时候只会显示ID较早的用户(解决思路是修改个人资料时,如果使用了相同昵称,进行提示。但是倡萌还不知具体如何实现,如果有朋友知道,希望告知)
参考资料:http://wordpress.stackexchange.com/questions/5742
相关阅读:将WordPress作者存档链接中的用户名改为用户ID
相关推荐
- 微信小程序function函数arguments 是什么意思呢?
- 小程序和H5中canvas卡顿的性能优化方向和实践
- 微信小程序反编译报SyntaxError: Unexpected token ‘}‘ 不完美的解决方法
- 解决小程序反编译出现 app-service.js
- PHP把textarea中的回车换行替换为br
- zblogphp使用GetArticleList、GetList函数调用热门文章列表
- 淘宝给大家发6.5元新年购物红包啦,不要嫌少还有很多优惠,快来领取吧!
- 抓包软件Fiddler命令行和HTTP断点调试
- 正则匹配任意字符(常用正则表达式的书写)
- ZBlog固定网站域名导致网站打不开的解决办法
- WordPress教程排行
- 最近发表