新闻中心

WordPress文章作者存档URL中的用户名改为昵称的方法

作者 / 无忧主机 时间 2014-05-15 15:48:49

Wordpress程序已经非常完善,但毕竟众口难调,有些地方做的不是让所有人满意。今天无忧小编就说一下Wordpress作者默认存档URL中会暴漏出作者的用户,一般格式如:http://域名/author/用户名,这样是会存在很大的安全隐患。那么如何操作才能使网站文章作者的用户名不暴漏出来呢?接下来就是需要修改的文件及代码来实现将用户名改为昵称的方法。 首先,要找到当前Wordpress主题的functions.php文件,然后把一下代码增加到这个文件上面,代码如下: /**s * 将WordPress作者存档链接中的用户名改为昵称 * http://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; } 此外,记得将“公开显示为”设置为非用户名,这样就OK啦! 注意:昵称不要包含空格,同时不建议使用中文;如果是多用户博客,可能会存在昵称相同的情况,这时候只会显示ID较早的用户(解决思路是修改个人资料时,如果使用了相同昵称,进行提示。) 相关文章推荐阅读: LINUX系统二级目录无法安装WORDPRESS解决办法 WORDPRESS博客如何添加页码,WORDPRESS三步实现分页功能 如何提升WORDPRESS个人博客网站访问速度,定期进行数据库优化

本文地址:https://www.51php.com/wordpress/14070.html

1
1
1
1
1
1
1