WordPress:如果用户未登录,则重定向到某些帖子caetgories的登录页面

时间:2016-03-09 09:40:23

标签: php wordpress categories privacy

所以我正在制作一个WP网站,其中包含一些应该只显示的帖子, 我想让它自动化(因此用户不必每次都为每个帖子设置为私有)并且认为函数是最好的。 所以我想重定向所有未登​​录的访问者,如果他们访问类别为 Intranet 的帖子。

我将此添加到functions.php中,但在访问此类别的帖子时没有任何反应:

add_action('intra_post', 'intranet_post_privacy');
function intranet_post_privacy() { 
    if ( !is_user_logged_in() && is_category( 'intranet' )) {
        header("Location: http://utt.se/user-login.php");
    }
}

1 个答案:

答案 0 :(得分:2)

将以下代码添加到主题functions.php 根据您的类别更改$category_slug变量。

add_action( 'template_redirect', 'redirect_to_login_for_specific_category' );
function redirect_to_login_for_specific_category() {
    $category_slug = 'intranet';
    global $post;
    if ( ! is_user_logged_in() && in_category( $category_slug, $post ) ) {
        $new_url = site_url() . "/wp-login.php";
        wp_redirect( $new_url, 301 );
        exit;
    }
}