我创建了一个网站,用户通过该网站注册并创建自己的模板配置文件页面。配置文件页面在注册时自动创建为自定义帖子,用户被设置为其特定帖子(配置文件)的作者。
(用户只能有一个自定义帖子)
我想重定向一个"dumb"URL,如www.website.com/my-profile到用户登录时的自定义帖子。
例如,当John Smith访问www.website.com/my-profile时,他被定向到他的个人资料页面:www.website.com/users/john.smith
我已经找到了许多PHP解决方案,但我似乎找不到一个解决方案,做我需要的。任何帮助都将非常感激。谢谢!
这可能不是原始查询的正确答案,但已被证明是一个可靠的解决方案:
每次在URL栏中输入www.website.com/my-profile都将其重定向到www.website.com/users/john.smith,我创建了一个可以在整个站点需要时使用的短代码。
add_shortcode('bt_redirect_user_link', 'bt_redirect_user_link');
function bt_redirect_user_link ($atts) {
// check if user is logged in
if (is_user_logged_in()) {
// get current user object
$current_user = wp_get_current_user();
// get user nickname
$user_nickname = $current_user->data->user_nicename;
// set the link href
$link_href = '/users/' . $user_nickname;
// output the link html
return $link_href;
}
}
对我来说幸运的是,www.website.com/my-profile链接(需要重定向)只对登录用户可见的按钮/图标可用。对于需要向注销用户显示链接的网站来说,这可能不是一个完全可行的解决方案,我认为在这种情况下需要添加IF/ELSE语句。