所以我正在制作一个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");
}
}
答案 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;
}
}