Hmmmmm… Mam pewien pomysł, ale nie wiem czy będziesz w stanie go zrealizować…
Właściwie znalazłem coś prostszego:
https://codex.wordpress.org/Plugin_API/Action_Reference/pre_get_posts#Exclude_categories_on_your_main_page
Pierwszy przykład, można tak zmodyfikować:
function exclude_category( $query ) {
if ( $query->is_home() && $query->is_main_query() && !is_user_logged_in()) {
$query->set( 'cat', '-1' );
}
}
add_action( 'pre_get_posts', 'exclude_category' );
Nie sprawdzałem czy działa, ale tak: dodałem do ifa kolejny warunek !is_user_logged_in, który ma sprawdzać czy użytkownik nie jest zalogowany. Jeżeli nie jest i poprzednie warunki są poprawne, to z wpisów wyłączamy kategorię o id 1. Minus aby wyłączyć.
Wtyczka: WordPress Access Control
Dawno nie była aktualizowana ale powinna działać.
Możesz ustalić czy dany post ma być widoczny tylko dla zalogowanych czy dla wszystkich. Dodatkowo możesz zrobić osobne menu dla zalogowanych.
Dzięki za odpowiedzi. O właśnie o to mi chodzi, żeby na stronie było widać co jest dostępne jak użytkownik nie jest zalogowany. A przy okazji jak najlepiej ustawić typ użytkownika, żeby nie mógł edytować postów, czy mieć dostęp do panelu. Administrator jest jeden.