Wpisy chronione hasłem wyświetlane na stronie głównej i w widgetach

WordPress pozwala tworzyć posty chronione hasłem. Niedawno jeden z naszych czytelników zapytał, czy możliwe jest ukrywanie chronionych hasłem postów na stronie. Domyślnie WordPress ukrywa zawartość postu chronionego hasłem, ale nadal pokazuje tytuł postu z prefiksem „chroniony”. W tym artykule pokażemy, jak ukryć chronione hasłem posty z pętli WordPress.

Po co ukrywać chronione hasłem posty w WordPress?

Domyślnie WordPress wyświetla Post chroniony hasłem z jego tytułem i prefiksem „chroniony”. Użytkownicy będą musieli wprowadzić hasło, aby zobaczyć treść postu.

Password protected posts displayed on homepage and in widgets

Ten tytuł postu jest widoczny na stronie głównej, archiwum, widżecie ostatnich postów itp. Jeśli chcesz zachować niektóre treści całkowicie prywatne, nie jest to idealne rozwiązanie.

Nie tylko użytkownicy, którzy nie mają hasła, mogą zobaczyć tytuł postu, mogą również spróbować wprowadzić hasła. Jak wszyscy wiemy, hasła mogą zostać złamane.

Powiedziawszy to, przyjrzyjmy się, jak ukryć chronione hasłem posty z pętli WordPress, aby inni użytkownicy nie mogli ich zobaczyć.

Ukrywanie wpisów chronionych hasłem w WordPress

Po prostu dodaj ten kod do funkcji motywu.plik php lub wtyczka specyficzna dla witryny.

function wpb_password_post_filter ($where=") {
    jeśli (!is_single ()&&!is_admin()) {
        $gdzie .= "I post_password="";
    }
    return $where;
}
add_filter ('posts_where', 'wpb_password_post_filter');

Kod ten po prostu modyfikuje zapytanie wysłane do WordPressa za pomocą posts_where filtr. Prosi WordPress o pobranie wszystkich postów, które nie mają hasła.

Odwiedź swoją stronę, a zobaczysz, że chronione hasłem posty nie są już widoczne na stronie głównej, archiwach lub w widżetach, takich jak ostatnie posty.

Before and after hiding protected posts in WordPress

Nadal możesz odwiedzić post, uzyskując do niego dostęp poprzez bezpośredni adres URL do samego posta.

Powyższy przykład ukrywa posty chronione hasłem przed wszystkimi użytkownikami. Co jeśli uruchomiłeś witrynę WordPress z wieloma autorami i chciałeś, aby chronione posty były widoczne dla użytkowników z możliwością edycji prywatnych postów?

Wystarczy zmodyfikować powyższy kod za pomocą innego znacznika warunkowego, w ten sposób:

function wpb_password_post_filter ($where=") {
   jeśli (!is_single ()&&!current_user_can ('edit_private_posts')&&!is_admin()) {
        $gdzie .= "I post_password="";
    }
    return $where;
}
add_filter ('posts_where', 'wpb_password_post_filter');

W tym przykładzie sprawdzamy, czy użytkownik nie może edytować postów chronionych hasłem, a następnie pokazujemy tylko posty, które nie mają hasła. W ten sposób wszyscy użytkownicy z rolami użytkownika administratora i edytora zobaczą chronione hasłem posty na froncie witryny.

Mamy nadzieję, że ten artykuł pomógł Ci ukryć chronione hasłem posty z pętli WordPress w Twojej witrynie. Możesz również zobaczyć nasz samouczek, Jak zmienić prefiks prywatnych i chronionych postów w WordPress.

Jeśli podoba Ci się ten artykuł, zasubskrybuj nasz kanał YouTube dla samouczków wideo WordPress. Możesz nas również znaleźć na Twitterze i Google+.

You May Also Like

Jak naprawić nieprawidłowy błąd JSON w WordPress (Przewodnik dla początkujących)

W artykule: Co powoduje błąd „nieprawidłowa odpowiedź JSON” w WordPress?1. Sprawdź adresy…

Jak zmienić kolor linku w WordPress (poradnik dla początkujących)

W artykule: Dlaczego Linki Są Ważne?Jak dodawać linki w postach i stronach…

Jak naprawić błąd krytyczny w WordPress (krok po kroku)

W artykule: Co To jest błąd krytyczny w WordPress?Co powoduje krytyczny błąd…

Jak zainstalować WordPress lokalnie na komputerze Mac za pomocą MAMP

W artykule: Jak zainstalować MAMP na komputerze MacInstalacja WordPress na komputerze MacWypróbowanie…