检测用户点击的链接,并仅重定向到登录用户的特定页面

时间:2018-12-06 作者:xbass540

我在我的WP网站上有一个链接Account link.我希望这对注销的用户正常工作。但是,对于登录的用户,我希望此链接将他们带到另一个页面url。

我尝试过:

 function my_logged_in_redirect_sub() {
    if ( is_user_logged_in() &&($_GET[\'account\'] )  
) {
        wp_redirect( get_permalink( 15498 ) );//the redirect page id
    die;
}
}


 add_action( \'template_redirect\', \'my_logged_in_redirect_sub\' );
$\\u GET[\'url\']不起作用

Question: 如何使用PHP定位特定URL?

1 个回复
最合适的回答,由SO网友:dado 整理而成

这里有两个示例,您需要稍加修改,以使其满足您的特定需求。

add_action( \'admin_init\', \'redirect_non_logged_users_to_specific_page\' );

function redirect_non_logged_users_to_specific_page() {

if ( !is_user_logged_in() && is_page(\'add page slug or ID here\') && $_SERVER[\'PHP_SELF\'] != \'/wp-admin/admin-ajax.php\' ) {

wp_redirect( \'http://www.example.dev/page/\' ); 
    exit;
   }
}
将其放入子主题函数文件中,更改页面ID或slug以及重定向url。

您也可以使用如下代码:

add_action( \'template_redirect\', \'redirect_to_specific_page\' );

function redirect_to_specific_page() {

if ( is_page(\'slug\') && ! is_user_logged_in() ) {

wp_redirect( \'http://www.example.dev/your-page/\', 301 ); 
  exit;
    }
}
您可以直接将消息添加到页面中,或者如果要为所有未登录的用户显示消息,请将其添加到代码中。

http://codex.wordpress.org/Function_Reference/wp_redirect

相关推荐

如何在WordPress unctions.php中将短代码值传递到Head

我正在尝试为wordpress帖子上的图表创建一个快捷代码。到目前为止,我已经使用了短代码,我可以看到短代码值正在被传递,但我需要知道的是如何将这些值传递到Google图表,以便正确工作。以下是我目前掌握的代码:function chart_shortcode($atts) { $a = shortcode_atts( array( \'value1\' => \'\', \'value2\' => \'\', \'value