Zaufane samouczki WordPress, kiedy ich najbardziej potrzebujesz.
Przewodnik dla początkujących po WordPressie
WPB Cup
25 milionów+
Witryny korzystające z naszych wtyczek
16+
Lata doświadczenia z WordPressem
3000+
Samouczki WordPress od ekspertów

Jak ukryć posty chronione hasłem przed pętlą WordPress

Posty chronione hasłem powinny pozostać ukryte, ale WordPress nadal wyświetla ich tytuły na listach blogów, w archiwach i wynikach wyszukiwania. Kiedy ktoś kliknie taki post i nagle natrafi na ekran z hasłem, może to być mylące.

To nie robi najlepszego wrażenia, zwłaszcza jeśli treść jest przeznaczona tylko dla klientów, członków lub do użytku wewnętrznego. 😓

Dobra wiadomość jest taka, że możesz całkowicie ukryć te posty przed pętlą WordPress (listą postów wyświetlanych na stronie głównej, w archiwach i wynikach wyszukiwania). Z naszych testów wynika, że WPCode okazał się najprostszym i najbardziej niezawodnym sposobem na osiągnięcie tego celu.

W tym przewodniku przeprowadzimy Cię przez kilka prostych sposobów, aby Twoje prywatne treści pozostały naprawdę prywatne. Przetestowaliśmy różne metody, dzięki czemu możesz usunąć posty chronione hasłem bez psucia swojej witryny ani blokowania dostępu osobom, które faktycznie go potrzebują.

Jak ukryć posty chronione hasłem przed pętlą WordPress

Dlaczego ukrywać posty chronione hasłem w WordPress?

WordPress nadal wyświetla posty chronione hasłem w całej witrynie z etykietą „Chronione”, mimo że sama treść jest zablokowana. Jest to problem, jeśli chcesz, aby określone treści pozostały w pełni prywatne.

Każdy, kto nie ma hasła, nadal może zobaczyć tytuł, co może ujawnić więcej, niż zamierzasz. Może to również zdezorientować odwiedzających, którzy klikają post, oczekując treści, a zamiast tego widzą monit o hasło.

Posty chronione hasłem wyświetlane na stronie głównej

Co więcej, te posty mogą przyciągać niechcianą uwagę. Ponieważ tytuły są widoczne, ktoś mógłby wielokrotnie próbować różnych haseł, aby uzyskać dostęp – zwłaszcza jeśli treść wygląda na cenną lub wrażliwą.

Dlatego wielu właścicieli witryn decyduje się całkowicie ukryć posty chronione hasłem przed pętlą WordPress. Kiedy to zrobisz, prywatne posty nie pojawią się nigdzie na froncie, chyba że ktoś już ma do nich dostęp.

Mając to na uwadze, pokażemy Ci, jak ukryć swoje wpisy chronione hasłem z pętli WordPressa, aby inni użytkownicy ich nie widzieli. Oto szybki przegląd wszystkich kroków, które wykonasz:

Zacznijmy od razu!

Krok 1. Zainstaluj wtyczkę fragmentów kodu

Aby wprowadzić konkretne zmiany w swojej witrynie, niektórzy eksperci WordPress mogą zalecić dodanie niestandardowego fragmentu kodu do pliku functions.php Twojego motywu.

Nie zalecamy tej metody, ponieważ nie jest ona przyjazna dla początkujących i ryzykujesz uszkodzeniem swojej witryny. Zamiast tego możesz użyć wtyczki do fragmentów kodu, takiej jak WPCode, aby wykonać to zadanie.

WPCode to najlepsza wtyczka do fragmentów kodu na rynku. Niektóre z naszych marek partnerskich używają jej do dodawania i zarządzania niestandardowymi fragmentami kodu na swoich stronach internetowych i są z niej bardzo zadowolone.

Więcej informacji o wtyczce znajdziesz w naszej pełnej recenzji WPCode.

Strona główna WPCode

🧑‍💻 Wskazówka eksperta: Ten samouczek doskonale działa z darmową wersją WPCode. Jeśli regularnie dodajesz lub zarządzasz wieloma niestandardowymi fragmentami kodu, przejście na WPCode Pro zapewni Ci pomocne dodatki, takie jak planowanie kodu, pełna historia rewizji i inne.

Zatem najpierw zainstaluj i aktywuj wtyczkę WPCode.

Z panelu administracyjnego WordPress przejdź do Wtyczki » Dodaj nową wtyczkę.

Podmenu Dodaj nowy wtyczkę w obszarze administracyjnym WordPress

Na następnym ekranie możesz użyć paska wyszukiwania, aby wyszukać WPCode.

Gdy pojawi się w wynikach, kliknij przycisk „Zainstaluj teraz”, a następnie „Aktywuj”, aby zacząć korzystać z wtyczki w swojej witrynie.

Instalacja WPCode

Jeśli jesteś nowy w WordPress, możesz zapoznać się z naszym przewodnikiem jak zainstalować wtyczkę WordPress.

Krok 2. Ukryj wpisy chronione hasłem w WordPressie

Po aktywowaniu wtyczki przejdź do Fragment kodu » + Dodaj fragment z obszaru administracyjnego WordPress.

Następnie po prostu kliknij przycisk „Dodaj niestandardowy fragment kodu” w sekcji „Dodaj swój własny kod (nowy fragment kodu)”.

Dodawanie niestandardowego kodu w WPCode

Na następnym ekranie będziesz musiał wybrać typ kodu dla swojego niestandardowego fragmentu.

Do tego samouczka będziemy musieli użyć opcji „Fragment kodu PHP”.

Wybór fragmentu PHP jako typu kodu

Zostaniesz następnie przekierowany do edytora niestandardowych fragmentów kodu.

Stąd będziesz chciał najpierw nazwać niestandardowy fragment kodu. Zalecamy użycie jasnej nazwy, takiej jak „Ukryj posty chronione hasłem”. Ułatwi to późniejsze organizowanie niestandardowych fragmentów kodu.

Następnie po prostu dodaj poniższy kod do pola „Podgląd kodu”:

function wpb_password_post_filter( $where = '' ) {
    if (!is_single() && !is_admin()) {
        $where .= " AND post_password = ''";
    }
    return $where;
}
add_filter( 'posts_where', 'wpb_password_post_filter' );

Ten kod mówi WordPressowi, aby szukał wszelkich wpisów, które mają hasło, i wyklucza je z zapytania. Zapewnia to, że nie pojawią się one na listach, takich jak Twoja strona główna lub archiwum, ale nadal będą dostępne poprzez bezpośrednie linki.

Oto jak to wygląda w edytorze:

Podgląd kodu do ukrywania postów chronionych hasłem

W tym momencie będziesz musiał przełączyć przełącznik „Nieaktywny” na „Aktywny”.

Następnie kliknij „Zapisz fragment”.

Zapisywanie fragmentu kodu do ukrywania postów chronionych hasłem

Domyślnie WPCode automatycznie zastosuje fragment kodu wszędzie w Twojej witrynie WordPress.

Teraz, jeśli odwiedzisz swoją stronę internetową, zobaczysz, że wpisy chronione hasłem nie są już widoczne na stronie głównej, w archiwach ani w widżetach, takich jak ostatnie wpisy.

Ukryte posty chronione hasłem

Pamiętaj, że nadal możesz odwiedzić post, uzyskując do niego dostęp za pomocą bezpośredniego adresu URL.

Dodatkowa wskazówka: Umożliwienie dostępu do chronionych postów określonym użytkownikom

Powyższy przykład ukrywa wpisy chronione hasłem przed wszystkimi użytkownikami. Ale co, jeśli prowadzisz wieloautorski WordPress i chcesz, aby chronione wpisy były widoczne dla użytkowników z uprawnieniami do edycji prywatnych wpisów?

Aby to zrobić, musisz edytować fragment kodu, który utworzyłeś w poprzednim kroku. Po prostu usuń kod, który dodałeś wcześniej, i zastąp go tym nowym fragmentem kodu:

function wpb_password_post_filter( $where = '' ) {
   if (!is_single() && !current_user_can('edit_private_posts') && !is_admin()) {
        $where .= " AND post_password = ''";
    }
    return $where;
}
add_filter( 'posts_where', 'wpb_password_post_filter' );

W tym przykładzie sprawdzamy, czy użytkownik nie może edytować prywatnych postów i wyświetlamy tylko posty, które nie mają haseł.

Robiąc to, wszyscy użytkownicy WordPress z rolami administratora i edytora będą widzieć posty chronione hasłem na stronie głównej Twojej witryny.

Często zadawane pytania dotyczące ukrywania postów chronionych hasłem w WordPress

Zastanawiasz się, co się dzieje, gdy ukrywasz posty chronione hasłem? Oto kilka częstych pytań, które otrzymujemy od czytelników, wraz z jasnymi odpowiedziami, które pomogą Ci zdecydować, czy to podejście jest odpowiednie dla Twojej witryny.

Dlaczego chciałbym ukryć posty chronione hasłem w WordPress?

Ukrywanie postów chronionych hasłem pomaga utrzymać czysty i profesjonalny wygląd Twojej witryny. Zapobiega również nieautoryzowanym odwiedzającym zobaczeniu, że istnieją prywatne treści, zmniejszając ryzyko prób dostępu i utrzymując większe bezpieczeństwo Twojej witryny.

Czy muszę edytować pliki mojego motywu, aby ukryć posty chronione hasłem?

Nie, nie musisz edytować plików motywu bezpośrednio. Możesz użyć niestandardowego fragmentu kodu, a wtyczka taka jak WPCode sprawia, że dodawanie go jest bezpieczne i łatwe, bez psucia Twojej witryny.

Czy ukrywanie tych postów wpłynie na widoczność dla autoryzowanych użytkowników?

Wcale nie. Uprzywilejowani użytkownicy, tacy jak zalogowani członkowie lub użytkownicy z określonymi rolami, nadal mogą uzyskać bezpośredni dostęp do postów, o ile posiadają odpowiednie hasło lub uprawnienia.

Czy WPCode jest jedynym pluginem, który może w tym pomóc?

WPCode jest jedną z najłatwiejszych i najbardziej niezawodnych opcji, dlatego ją polecamy. Istnieją jednak inne wtyczki. Upewnij się tylko, że wybierasz taką, która jest dobrze utrzymana i kompatybilna z Twoim motywem i innymi narzędziami.

Czy ukrywanie postów chronionych hasłem wpłynie na SEO mojej witryny?

Ukrywanie tych postów ze strony głównej lub archiwów nie zaszkodzi Twojemu SEO. W rzeczywistości może je poprawić, utrzymując Twoje publiczne treści bardziej skoncentrowane i trafne dla wyszukiwarek.

Inne pomocne przewodniki dotyczące zarządzania witryną członkowską WordPress

Mamy nadzieję, że ten artykuł pomógł Ci ukryć posty chronione hasłem z pętli WordPress na Twojej stronie.

Możesz również zapoznać się z naszymi poradnikami na temat:

Jeśli podobał Ci się ten artykuł, zasubskrybuj nasz kanał YouTube po samouczki wideo WordPress. Możesz nas również znaleźć na Twitterze i Facebooku.

Ujawnienie: Nasze treści są wspierane przez czytelników. Oznacza to, że jeśli klikniesz w niektóre z naszych linków, możemy otrzymać prowizję. Zobacz jak finansowany jest WPBeginner, dlaczego to ważne i jak możesz nas wesprzeć. Oto nasz proces redakcyjny.

Ostateczny zestaw narzędzi WordPress

Uzyskaj BEZPŁATNY dostęp do naszego zestawu narzędzi – kolekcji produktów i zasobów związanych z WordPress, które powinien mieć każdy profesjonalista!

Interakcje czytelników

17 CommentsLeave a Reply

  1. To świetnie zadziałało dla głównego kanału; dziękuję! Mam podobny problem jak Mark (kilka komentarzy wyżej), ale z widżetem Najnowsze posty. Posty chronione hasłem nadal pojawiają się na liście Najnowszych postów.

        • Powinien ukrywać posty chronione hasłem z widżetu ostatnich postów. Jeśli masz włączone buforowanie na swojej stronie, upewnij się, że je wyczyściłeś, na wypadek gdybyś widział buforowane informacje dla widżetu. Inną możliwością jest to, że coś modyfikuje zapytanie używane przez widżet, inne niż nasz kod.

  2. Dziękuję za wyjaśnienie, jak *naprawdę* to zrobić w kodzie; nie spodziewałem się tego po stronie o nazwie „wpbeginner.com”! (Nawiasem mówiąc, nadal działa w 2024 roku i WP 6.5.2.)

    Wiele witryn udaje, że oferuje rozwiązania, ale tak naprawdę chce, abyś używał ich wtyczki, która nadmiernie komplikuje coś prostego i naraża Twoją witrynę na wszelkie luki, które mogą wprowadzić i nigdy nie załatać.

    • It would depend on the site and plugin as plugins can be for simply adding the same code as code from an article without needing to know how to edit files which is why sites recommend them. Glad you found our site and guide helpful :)

      Admin

    • Proszę bardzo, cieszę się, że nasz przewodnik był pomocny!

      Admin

  3. Dziękuję wam bardzo. To naprawdę mi pomogło. Doceniam to. Proszę, publikujcie więcej tego typu postów, które nie wymagają użycia wtyczki.

    • Gdy dostępne będzie rozwiązanie bez wtyczek, na pewno postaramy się je uwzględnić.

      Admin

  4. Utworzyłem wtyczkę specyficzną dla witryny i postępowałem zgodnie z tymi krokami, co zadziałało w przypadku ukrycia mojego posta na stronie „Posty” mojej witryny. Jednak post jest nadal widoczny w widżecie Powiązane posty dla każdego pojedynczego posta. (Bardzo podobne do obrazu, który masz powyżej, jednak mój post chroniony hasłem jest nadal widoczny.)

    Czy mogę coś zrobić, aby to naprawić?

  5. Chciałem wprowadzić własną korektę kodu, aby wyświetlać posty, jeśli można było odczytać_prywatne_posty.

    function remove_password_protected_posts( $where = "" ) { if (!is_single() && !current_user_can(‘read_private_posts’) && !is_admin() ) { $where .= " AND post_password = ""; } return $where; } add_filter( ‘posts_where’, ‘remove_password_protected_posts’ );

    Świetny post jak zwykle. Dziękuję.

  6. Cześć wszystkim

    Stworzyłem wtyczkę specyficzną dla witryny z poniższym kodem:

    Jeśli spróbuję dołączyć galerię NextGEN do mojego posta, galeria się nie ładuje. Gdy tylko wyłączę wtyczkę, galeria NextGEN wraca do normy.

    Pozdrawiam

  7. Dziękuję za ten fragment kodu. Bardzo pomocne!

    Jeśli chodzi o ukrywanie tych postów w kanale RSS, natknąłem się na ten fragment kodu.


    function rss_filter_protected($query) {
    if ($query->is_feed) {
    add_filter('posts_where', 'rss_filter_password_where');
    }
    return $query;
    }
    add_filter('pre_get_posts','rss_filter_protected');

  8. Dzięki za świetną wskazówkę!
    Ale czy te posty ukryte z pętli za pomocą Twojego fragmentu kodu są również ukryte z kanału RSS?

Zostaw odpowiedź

Dziękujemy za pozostawienie komentarza. Pamiętaj, że wszystkie komentarze są moderowane zgodnie z naszą polityką komentowania, a Twój adres e-mail NIE zostanie opublikowany. Prosimy NIE używać słów kluczowych w polu nazwy. Prowadźmy osobistą i znaczącą rozmowę.