wordpress会默认生成作者归档页,如果博客网站有多个作者,那么作者归档页能区别不同的作者,一般格式为: example.com/author/user_name。 但个人博客站就没必要了。

以下有三种处理方式,都需要在function.php文件中加上一些代码来实现。首先找到该php文件。路径:外观 — 主题编辑器 — function.php。

|更改作者归档页的url

方法一,更改作者url,也即改author或者user_name。author太板了,可以改为profile或者about,而user_name一般是后台登陆用户名,也存在泄露信息的风险。

1)加上以下这段代码,把默认的author换成profile,当然也可以换成其他的。

//更改作者存档前缀 
add_action('init', 'change_author_base');
function change_author_base() {
global $wp_rewrite;
$author_slug = 'profile'; // change slug name
$wp_rewrite->author_base = $author_slug;
}

2)用户名一经设定在后台是改不了的,如果想要改掉用户名,则加上以下代码。

//更改用户名 
global $wpdb;
$wpdb->query( "
UPDATE wp_users
SET user_login = 'new username'
WHERE user_login = 'old username';
" ); 

其中,old username是之前的老用户名,new username是想要改成的新用户名。用户名修改成功后这段代码就可以删除了。

但是要注意的是,如果作者归档页在修改之前已经存在,那么虽然用户名改了但作者url还是以前的,所以这种方法只有在用户名已经更改不了但还没有生成作者url时。或者不想在url中显示真实的用户名,那么修改之后作者url还是你以前的url,而真实的用户名是你更改之后的,这也巧妙区别开来了。

|301到其他页面

方法二,把作者归档页301到home页。这时点击作者名称直接跳转到主页,但是有个大缺点,稍微懂点的,当鼠标悬挂在作者名称上,就能看到左下角真实的URL地址。所以,继续看第三个方法。

|完全删除作者归档页

个人更倾向于第三种方法,删除作者url。以下是具体步骤:

在function.php文件加上以下这段代码。

// 通过 author_link 钩子移除前缀 author url
add_filter('author_link', 'no_author_base', 1000, 2);
function no_author_base($link, $author_id) {
$link_base = trailingslashit(get_option('home'));
$link = preg_replace("|^{$link_base}author/|", '', '');
return $link_base . $link;
}

如此便直接把作者归档页删除了,而文章中的作者名称直接链接的就是网站首页。

最后温馨提示: 关于wordpress后台的用户名,除了不能使用admin,也不要使用你域名的里的词,切记!