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

Otrzymaliśmy informacje od kilku czytelników, którzy byli zaskoczeni, dowiadując się, że ochrona hasłem w WordPress nie jest tak prywatna, jak się wydaje.

Jasne, treść jest zablokowana hasłem. Ale tytuły wpisów nadal pojawiają się na Twojej stronie głównej, stronach kategorii i w wynikach wyszukiwania.

To jak zamykanie pamiętnika, ale zostawianie tytułów rozdziałów na widoku. 😱

To problem, jeśli prowadzisz witrynę członkowską lub udostępniasz poufne informacje biznesowe. Nie tylko wygląda to niechlujnie, ale także sugeruje, co jest ukryte za kulisami. Niektórzy ciekawi odwiedzający mogą nawet próbować uzyskać dostęp do treści tylko dlatego, że wiedzą, że tam są.

Na szczęście istnieją sposoby, aby całkowicie ukryć te posty przed widokiem publicznym.

W tym przewodniku pokażę Ci najlepsze sposoby na zachowanie prawdziwej prywatności Twoich prywatnych treści. Przetestowaliśmy kilka metod usuwania postów chronionych hasłem z pętli WordPress – bez psucia Twojej witryny ani blokowania dostępu osobom, które go potrzebują. 🙌

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

Dlaczego ukrywać posty chronione hasłem w WordPress?

Domyślnie WordPress wyświetla wpis chroniony hasłem z jego tytułem i prefiksem „protected”. Użytkownicy muszą wprowadzić hasło, aby wyświetlić treść wpisu.

Ten prefiks posta jest widoczny na stronie głównej, w archiwach, w widżetach najnowszych postów i w innych obszarach.

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

Jeśli chcesz zachować część treści całkowicie prywatną, nie jest to idealne rozwiązanie z kilku powodów.

Użytkownicy, którzy nie mają haseł, nadal mogą widzieć tytuł posta, co samo w sobie może być problemem. Mogą również próbować uzyskać dostęp do treści za pomocą ataku typu brute-force. Jak wszyscy wiemy, hasła można złamać.

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

Najlepsze jest to, że możesz użyć darmowej wersji WPCode do dodania niestandardowego fragmentu kodu do swojej witryny WordPress.

Najpierw zainstaluj i aktywuj darmową wtyczkę WPCode. Jeśli potrzebujesz pomocy w tym procesie, zapoznaj się z naszym przewodnikiem jak zainstalować wtyczkę WordPress.

🧑‍💻 Wskazówka eksperta: Odblokuj zaawansowane funkcje, takie jak pełna historia rewizji, planowanie kodu i dostęp do ponad 100 zatwierdzonych przez ekspertów fragmentów kodu, kupując wersję premium WPCode.

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 modyfikuje zapytanie wysyłane do WordPress za pomocą filtru posts_where. Prosi WordPress o pobranie wszystkich postów, które nie mają hasła.

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ą witrynę, zobaczysz, że posty chronione hasłem nie są już widoczne na stronie głównej, archiwach ani w widżetach, takich jak ostatnie posty.

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 wieloautorską witrynę WordPress i chcesz, aby chronione wpisy były widoczne dla użytkowników z uprawnieniami do edycji prywatnych wpisów?

Po prostu zmodyfikuj powyższy kod za pomocą innego znacznika warunkowego, na przykład:

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ć postów chronionych hasłem i wyświetlamy tylko te 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 mogę ukryć posty chronione hasłem bez używania kodu?

Tak! Chociaż WordPress oferuje podstawowe ustawienia prywatności, użycie wtyczki takiej jak WPCode ułatwia i usprawnia ten proces, zwłaszcza jeśli nie czujesz się komfortowo z edycją kodu. Daje Ci to większą kontrolę bez potrzeby posiadania umiejętności technicznych.

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. Dopóki mają 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.

Mamy nadzieję, że ten artykuł pomógł Ci ukryć posty chronione hasłem z pętli WordPress w Twojej witrynie. Możesz również zapoznać się z naszym poradnikiem na temat jak zmienić prefiks prywatnych i chronionych postów w WordPress oraz naszym przewodnikiem po różnych sposobach ochrony treści w WordPress.

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ź