为了账号安全,请及时绑定邮箱和手机立即绑定

访问页面时根据用户角色重定向WordPress用户

访问页面时根据用户角色重定向WordPress用户

PHP
郎朗坤 2022-09-03 17:27:54
我正在尝试创建一个简单的重定向,当有人尝试访问某个页面时,具体取决于用户角色。我创建了一个具有会员功能的网站,为付费会员提供某些功能。免费会员在登录后只能访问一个页面,但如果他们知道付费区域的URL,他们可以看到内容。我想知道是否有一种方法可以创建301重定向,以便当免费会员尝试进入付费页面时,它会将他们重定向回免费区域。这可能吗?如果您需要更多信息,请询问!谢谢大卫
查看完整描述

3 回答

?
忽然笑

TA贡献1806条经验 获得超5个赞

你也可以像这样尝试,让它更友好。


function role_redirections() {

$loggedin_user = wp_get_current_user();  

if (!is_user_logged_in() || !in_array( 'memorial_user', (array) $loggedin_user->roles )) {

    $location1 =  get_option( 'siteurl' ) .'/member-portal/';

    header('Location: '.$location1.'');

    } 

}

add_action('wp_head', 'role_redirections');


查看完整回答
反对 回复 2022-09-03
?
饮歌长啸

TA贡献1951条经验 获得超3个赞

将此代码粘贴到激活主题或冷却主题函数中.php文件


function role_redirections() {

    $logedin_user = wp_get_current_user();  

    if (!is_user_logged_in() || !in_array( 'shop_manager', (array) $logedin_user->roles )) {

        $location1 =  home_url();

        header('Location: '.$location1.'');

    } 

}

add_action('wp_head', 'role_redirections');


查看完整回答
反对 回复 2022-09-03
?
莫回无

TA贡献1865条经验 获得超7个赞

我尝试了你的答案,但它并没有完全按照我想要的方式工作,所以我修改了代码如下:


function role_redirections() {

$loggedin_user = wp_get_current_user();  

if (!is_user_logged_in() || !in_array( 'memorial_user', (array) $loggedin_user->roles )) {

    $location1 =  'https://www.myswansong.com/member-portal/';

    header('Location: '.$location1.'');

    } 

}

add_action('wp_head', 'role_redirections');

唯一真正的区别是修改home_url();到具有我需要的完整URL的字符串。


感谢您的帮助。


查看完整回答
反对 回复 2022-09-03
  • 3 回答
  • 0 关注
  • 88 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信