Wsparcie » Wtyczki » Jak ukryć posty

  • Witam. Mam stworzoną stronę z logowaniem i chciałabym ukryć posty tzn. użytkownik zalogowany ma dostęp do wszystkich postów, natomiast gość bez logowania ma tylko dostęp do wybranych postów. Szukałam wtyczek i znalazłam hide post? Z góry dzięki.

Viewing 3 replies - 1 through 3 (of 3 total)
  • 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.

    Thread Starter Avenus91

    (@avenus91)

    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.

Viewing 3 replies - 1 through 3 (of 3 total)
  • Temat ‘Jak ukryć posty’ jest zamknięty na nowe odpowiedzi.