Я знаю, что это очень старый вопрос, но для всех, кто его найдет, я пойду на качели.
Вы можете добавить к началу вашего while
утверждения в вашем single.php
подать проверку категории «Личное» и «Пользователь вошел в систему», например, так (ПРИМЕЧАНИЕ: перенаправляет на страницу входа в систему, если пользователь не вошел в систему и для категории в сообщении установлено значение «личное»):
while ( have_posts() ) : the_post();
if(in_category("private")){
if(is_user_logged_in()){
get_template_part( 'content', get_post_format() );
} else {
auth_redirect();
}
} else {
get_template_part( 'content', get_post_format() );
}
Пользователь вошел в систему?
В категории X?
См. Также: auth_redirect()
Надеюсь, это поможет!