Hur man döljer lösenordsskyddade inlägg från WordPress Loop
WordPress låter dig skapa lösenordsskyddade inlägg. Nyligen frågade en av våra läsare om det var möjligt att gömma lösenordsskyddade inlägg från webbplatsen. Som standard döljer WordPress innehållet i ett lösenordsskyddat inlägg, men det visar fortfarande posttiteln med "Protected" prefix. I den här artikeln visar vi hur du döljer lösenordsskyddade inlägg från WordPress-loopen.
Varför Dölj Lösenordsskyddade inlägg i WordPress?
Som standard visar WordPress det lösenordsskyddade inlägget med dess titel och ett "skyddat" prefix. Användare måste ange lösenordet för att visa innehållet i inlägget.
Denna posttitel är synlig på hemsidan, arkivet, widgeten för senaste inlägg etc. Om du vill hålla innehållet helt privat så är det inte ett ideal.
Inte bara användare som inte har lösenord kan se posttiteln, de kan också försöka skriva in lösenord. Som vi alla vet kan lösenord bli knäckt.
Med detta sagt, låt oss ta en titt på hur du döljer dina lösenordsskyddade inlägg från WordPress-loop så att andra användare inte kan se dem.
Dölja lösenordsskyddade inlägg i WordPress
Lägg bara till den här koden i ditt temas funktioner.php-fil eller ett sajtspecifikt plugin.
funktion wpb_password_post_filter ($ where = ") if (! is_single () &&! is_admin ()) $ where. =" OCH post_password = ""; returnera $ var; add_filter ('posts_where', 'wpb_password_post_filter');
Denna kod ändrar helt enkelt frågan som skickas till WordPress med hjälp av posts_where
filtrera. Det ber WordPress att hämta alla inlägg som inte har ett lösenord.
Besök din webbplats och du kommer se att lösenordsskyddade inlägg inte längre är synliga på hemsidan, arkivet eller i widgets som de senaste inläggen.
Du kan fortfarande besöka inlägget genom att komma åt det via en direktadress till posten själv.
Exemplet ovan, döljer lösenordsskyddade inlägg från alla användare. Vad händer om du körde en multi-author WordPress-webbplats och ville ha skyddade inlägg att synas av användare med möjlighet att redigera privata inlägg?
Ändra bara ovanstående kod med en annan villkorlig tagg, så här:
funktionen wpb_password_post_filter ($ where = ") if (! is_single () &&! current_user_can ('edit_private_posts') &&! is_admin ()) $ where. =" OCH post_password = ""; returnera $ var; add_filter ('posts_where', 'wpb_password_post_filter');
I det här exemplet kontrollerar vi om en användare inte kan redigera de lösenordsskyddade inläggen, och visa bara de inlägg som inte har lösenord. Om så är fallet kommer alla användare med användarroller av administratör och redaktör att se de lösenordsskyddade inläggen på framsidan av din webbplats.
Vi hoppas att den här artikeln hjälper dig att dölja lösenordsskyddade inlägg från WordPress-loop på din webbplats. Du kanske också vill se vår handledning om hur du ändrar privata och skyddade inläggets prefix i WordPress.
Om du gillade den här artikeln kan du prenumerera på vår YouTube-kanal för WordPress-videoinstruktioner. Du kan också hitta oss på Twitter och Google+.