香港独立IP空间
香港php空间
美国php空间
域名注册

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个人博客网站访问速度,定期进行数据库优化

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

喜欢本文或觉得本文对您有帮助,请分享给您的朋友 ^_^

阅读本文的人还阅读:


搜索技术文档