Pålitliga WordPress-handledningar, när du behöver dem som mest.
Nybörjarguide till WordPress
WPB Cup
25 miljoner+
Webbplatser som använder våra plugins
16+
År av WordPress-erfarenhet
3000+
WordPress-handledningar
av experter

Hur man döljer lösenordsskyddade inlägg från WordPress-loopen

Vi har hört från flera läsare som blev förvånade över att lära sig att WordPress lösenordsskydd inte är så privat som det verkar.

Visst, innehållet är låst bakom ett lösenord. Men inläggstitlarna visas fortfarande på din startsida, kategorisidor och sökresultat.

Det är som att låsa en dagbok men lämna ut kapitlenas namn. 😱

Det är ett problem om du driver en medlemswebbplats eller delar känslig affärsinformation. Det ser inte bara rörigt ut, utan det antyder också vad som döljs bakom kulisserna. Vissa nyfikna besökare kanske till och med försöker komma åt innehållet bara för att de vet att det finns där.

Lyckligtvis finns det sätt att dölja dessa inlägg helt från allmänhetens ögon.

I den här guiden visar jag dig de bästa sätten att hålla ditt privata innehåll verkligen privat. Vi har testat flera metoder för att ta bort lösenordsskyddade inlägg från WordPress-loopar – utan att bryta din webbplats eller låsa ute de personer som behöver åtkomst. 🙌

Hur man döljer lösenordsskyddade inlägg från WordPress-loopen

Varför dölja lösenordsskyddade inlägg i WordPress?

Som standard visar WordPress ett lösenordsskyddat inlägg med dess titel och prefixet 'skyddad'. Användare måste ange lösenordet för att se inläggets innehåll.

Denna inläggsprefix är synlig på startsidan, i arkiv, i widgeten för senaste inläggen och i andra områden.

Lösenordsskyddade inlägg visas på startsidan

Om du vill hålla visst innehåll helt privat, är detta inte idealiskt av flera skäl.

Användare som inte har lösenord kan fortfarande se inläggets titel, vilket kan vara ett problem i sig. De kan också försöka få tillgång till innehållet med en brute-force-attack. Som vi alla vet kan lösenord knäckas.

Med det i åtanke visar vi dig hur du döljer dina lösenordsskyddade inlägg från WordPress-loopen så att andra användare inte kan se dem. Här är en snabb översikt över alla steg du kommer att ta:

Låt oss hoppa rakt in!

Steg 1. Installera ett plugin för kodavsnitt

För att göra specifika ändringar på din webbplats kan vissa WordPress-experter säga åt dig att lägga till ett anpassat kodavsnitt i ditt temas functions.php-fil.

Vi rekommenderar inte den här metoden eftersom den inte är särskilt nybörjarvänlig, och du riskerar att skada din webbplats. Istället kan du använda ett plugin för kodavsnitt, som WPCode, för att utföra uppgiften.

WPCode är det bästa kodavsnittspluginet på marknaden. Några av våra partner varumärken använder det för att lägga till och hantera anpassade kodavsnitt på sina webbplatser, och de har älskat det.

Du kan hitta mer information om pluginet i vår kompletta WPCode-recension.

WPCode's startsida

Det bästa är att du kan använda gratisversionen av WPCode för att lägga till ett anpassat kodavsnitt på din WordPress-webbplats.

Så, gå först igenom och installera och aktivera gratis WPCode-pluginet. Om du behöver hjälp med processen, kolla in vår guide om hur man installerar ett WordPress-plugin.

🧑‍💻 Experttips: Lås upp avancerade funktioner som fullständig revisionshistorik, schemaläggning av kod och tillgång till över 100 expertgodkända kodavsnitt genom att köpa premiumversionen av WPCode.

Steg 2. Dölj lösenordsskyddade inlägg i WordPress

När du har aktiverat pluginet, navigera till Kodutdrag » + Lägg till utdrag från ditt WordPress-adminområde.

Klicka sedan helt enkelt på knappen 'Lägg till anpassat kodavsnitt' under sektionen 'Lägg till din anpassade kod (nytt kodavsnitt)'.

Lägga till anpassad kod i WPCode

På nästa skärm måste du välja kodtyp för ditt anpassade kodavsnitt.

För den här handledningen behöver vi använda alternativet 'PHP-kodavsnitt'.

Välja PHP-utdrag som kodtyp

Du kommer sedan att omdirigeras till redigeraren för anpassade kodavsnitt.

Härifrån vill du namnge det anpassade kodavsnittet först. Vi rekommenderar att du använder ett tydligt namn, som 'Dölj lösenordsskyddade inlägg'. Detta gör det enklare att organisera dina anpassade kodavsnitt senare.

Lägg sedan helt enkelt till följande kod i rutan 'Kodförhandsgranskning':

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' );

Den här koden modifierar frågan som skickas till WordPress genom att använda filtret posts_where. Den ber WordPress att hämta alla inlägg som inte har ett lösenord.

Så här ser det ut i redigeraren:

Kodförhandsgranskning för att dölja lösenordsskyddade inlägg

Vid det här laget behöver du växla omkopplaren 'Inaktiv' till 'Aktiv'.

Klicka sedan på ‘Spara kodavsnitt’.

Spara kodavsnitt för att dölja lösenordsskyddade inlägg

Som standard kommer WPCode automatiskt att tillämpa kodavsnittet överallt på din WordPress-webbplats.

Nu, om du besöker din webbplats, kommer du att se att lösenordsskyddade inlägg inte längre är synliga på startsidan, arkiven eller i widgetar som senaste inlägg.

Skyddade inlägg dolda

Tänk på att du fortfarande kan besöka inlägget genom att komma åt det via en direkt URL.

Bonustips: Tillåt åtkomst till skyddade inlägg för specifika användare

Exemplet ovan döljer lösenordsskyddade inlägg från alla användare. Men tänk om du driver en WordPress-webbplats med flera författare och ville att skyddade inlägg skulle vara synliga för användare med förmågan att redigera privata inlägg?

Ändra helt enkelt koden ovan med en annan villkorlig tagg som denna:

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' );

I det här exemplet kontrollerar vi om en användare inte kan redigera lösenordsskyddade inlägg och visar endast de inlägg som inte har lösenord.

Genom att göra detta kommer alla WordPress-användare med administratörs- och redaktörsroller att se de lösenordsskyddade inläggen på din webbplats förstasida.

Vanliga frågor om att dölja lösenordsskyddade inlägg i WordPress

Undrar du vad som händer när du döljer lösenordsskyddade inlägg? Här är några vanliga frågor vi får från läsare, tillsammans med tydliga svar som hjälper dig att avgöra om detta tillvägagångssätt är rätt för din webbplats.

Varför skulle jag vilja dölja lösenordsskyddade inlägg i WordPress?

Att dölja lösenordsskyddade inlägg hjälper till att hålla din webbplats ren och professionell. Det förhindrar också obehöriga besökare från att se att privat innehåll existerar, vilket minskar risken för åtkomstförsök och håller din webbplats säkrare.

Kan jag dölja lösenordsskyddade inlägg utan att använda kod?

Ja! Medan WordPress erbjuder grundläggande integritetsinställningar, gör användningen av ett plugin som WPCode processen enklare och mer pålitlig, särskilt om du inte är bekväm med att redigera kod. Det ger dig mer kontroll utan att behöva tekniska färdigheter.

Kommer döljandet av dessa inlägg att påverka synligheten för auktoriserade användare?

Inte alls. Auktoriserade användare, som inloggade medlemmar eller användare med specifika roller, kan fortfarande komma åt inläggen direkt. Så länge de har rätt lösenord eller behörigheter.

Är WPCode det enda plugin som kan hjälpa till med detta?

WPCode är ett av de enklaste och mest pålitliga alternativen, vilket är anledningen till att vi rekommenderar det. Det finns dock andra plugins tillgängliga. Se bara till att välja ett som är väl underhållet och kompatibelt med ditt tema och andra verktyg.

Kommer döljande av lösenordsskyddade inlägg att påverka min webbplats SEO?

Att dölja dessa inlägg från din startsida eller arkiv kommer inte att skada din SEO. Faktum är att det kan förbättra den genom att hålla ditt offentliga innehåll mer fokuserat och relevant för sökmotorer.

Vi hoppas att den här artikeln hjälpte dig att dölja lösenordsskyddade inlägg från WordPress-loopen på din webbplats. Du kanske också vill se vår handledning om hur man ändrar prefixet för privata och skyddade inlägg i WordPress och vår guide om olika sätt att skydda innehåll i WordPress.

Om du gillade den här artikeln, prenumerera då på vår YouTube-kanal för WordPress-videoguider. Du kan också hitta oss på Twitter och Facebook.

Upplysning: Vårt innehåll stöds av läsarna. Det innebär att om du klickar på några av våra länkar kan vi tjäna en provision. Se hur WPBeginner finansieras, varför det är viktigt och hur du kan stödja oss. Här är vår redaktionella process.

Det ultimata WordPress-verktyget

Få GRATIS tillgång till vår verktygslåda - en samling WordPress-relaterade produkter och resurser som alla proffs bör ha!

Läsarnas interaktioner

17 CommentsLeave a Reply

  1. Detta fungerade utmärkt för huvudflödet; tack! Jag har ett liknande problem som Mark (några kommentarer ovan), men med widgeten Senaste inlägg. Lösenordsskyddade inlägg visas fortfarande i listan Senaste inlägg.

    • Har du ett plugin som ändrar hur widgeten för senaste inläggen fungerar?

      Admin

        • Det bör dölja lösenordsskyddade inlägg från din widget för senaste inlägg. Om du har cachning på din webbplats, se till att du rensar den om du ser cachad information för widgeten. Den andra möjligheten är att något modifierar frågan som widgeten använder, annat än vår kod.

  2. Tack för att du förklarade hur man *verkligen* gör det i kod; jag förväntade mig inte det från en webbplats som heter "wpbeginner.com"! (Fungerar fortfarande 2024 och WP 6.5.2, förresten.)

    Många webbplatser låtsas erbjuda lösningar men vill egentligen att du ska använda deras plugin som överkomplicerar något enkelt och lämnar din webbplats exponerad för eventuella sårbarheter de kan introducera och aldrig åtgärda.

    • 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

  3. Tack så mycket. Detta hjälpte mig verkligen. Jag uppskattar det. Fortsätt gärna med fler sådana här inlägg som inte involverar att använda ett plugin.

    • När en lösning utan plugin finns tillgänglig kommer vi att se till att försöka inkludera den.

      Admin

  4. Jag skapade ett webbplatsspecifikt plugin och följde dessa steg och det fungerade för att dölja mitt inlägg på sidan "Inlägg" på min webbplats. Inlägget är dock fortfarande synligt i en widget för relaterade inlägg för varje enskilt inlägg. (Mycket likt bilden du har ovan, men mitt lösenordsskyddade inlägg är fortfarande synligt.)

    Finns det något jag kan göra för att fixa detta?

  5. Jag ville göra en egen kodjustering för att visa inläggen om man kunde läsa_privata_inlägg.

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

    Bra inlägg som vanligt. Tack.

  6. Hej allihopa

    Jag skapade ett webbplatsspecifikt plugin med följande kod:

    Om jag försöker bifoga ett NextGen-galleri till mitt inlägg, laddas inte galleriet, så fort jag inaktiverar pluginet återgår NextGen-galleriet till det normala.

    Med vänliga hälsningar

  7. Tack för detta kodavsnitt. Så hjälpsamt!

    Angående att dölja dessa inlägg från RSS-flödet, stötte jag på det här kodavsnittet.


    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. Tack för det utmärkta tipset!
    Men döljs dessa inlägg från loopen med din kodsnutt även från RSS-flödet?

    • Baserat på ett enda test döljs det lösenordsskyddade inlägget från RSS-flödet.

Lämna ett svar

Tack för att du väljer att lämna en kommentar. Tänk på att alla kommentarer modereras enligt vår kommentarspolicy, och din e-postadress kommer INTE att publiceras. Använd INTE nyckelord i namn fältet. Låt oss ha en personlig och meningsfull konversation.