Custom User Page

时间:2017-10-13 作者:BoinxFlags

我想创建一个带有自定义url的自定义用户页面。

通常,用户页面url如下所示:

www.example。com/用户/用户名

www.example。com/成员/用户名

我想要实现的是让自定义用户页面url看起来像:www.example。com/username。

有可能吗?

1 个回复
SO网友:Randomer11

尝试以下操作:

// The first part //
add_filter(\'author_rewrite_rules\', \'no_author_base_rewrite_rules\');
function no_author_base_rewrite_rules($author_rewrite) { 
    global $wpdb;
    $author_rewrite = array();
    $authors = $wpdb->get_results("SELECT user_nicename AS nicename from $wpdb->users");    
    foreach($authors as $author) {
        $author_rewrite["({$author->nicename})/page/?([0-9]+)/?$"] = \'index.php?author_name=$matches[1]&paged=$matches[2]\';
        $author_rewrite["({$author->nicename})/?$"] = \'index.php?author_name=$matches[1]\';
    }   
    return $author_rewrite;
}

// The second part //
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/|", \'\', $link);
    return $link_base . $link;
}
资料来源:https://wp-snippet.com/snippets/remove-author-prefix-from-slug/

结束

相关推荐

Users redirected to old site

如果我以管理员身份登录,一切都很好。但是,如果我以用户身份登录,它会重定向到旧的测试站点(用于运行站点的开发服务器)。我已经检查了数据库中的siteurl和home值是否正确。我也在使用付费会员pro插件。我搜索了数据库,找到了740个旧URL的条目:(有人能建议在不破坏现场的情况下,最好的前进方式吗?谢谢