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

Lösenordsskyddade inlägg är menade att förbli dolda, men WordPress visar fortfarande deras titlar i blogglistor, arkiv och sökresultat. När någon klickar på ett och plötsligt stöter på en lösenordsruta kan det vara förvirrande.

Detta ger inte det bästa intrycket, särskilt om innehållet bara är för kunder, medlemmar eller internt bruk. 😓

Den goda nyheten är att du helt kan dölja dessa inlägg från WordPress-loopen (listan över inlägg som visas på din startsida, arkiv och sökresultat). Från vår testning visade sig WPCode vara det enklaste och mest pålitliga sättet att åstadkomma detta.

I den här guiden går vi igenom några enkla sätt att hålla ditt privata innehåll verkligen privat. Vi har testat olika metoder så att du kan ta bort lösenordsskyddade inlägg utan att bryta din webbplats eller blockera åtkomst för de som faktiskt behöver den.

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

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

WordPress visar fortfarande lösenordsskyddade inlägg på din webbplats med en "Skyddad"-etikett, även om själva innehållet är låst. Detta är ett problem om du vill att visst innehåll ska förbli helt privat.

Vem som helst utan lösenordet kan fortfarande se titeln, vilket kan avslöja mer än du avser. Det kan också förvirra besökare som klickar på ett inlägg och förväntar sig innehåll, bara för att se en lösenordsfråga.

Lösenordsskyddade inlägg visas på startsidan

Dessutom kan dessa inlägg dra till sig oönskad uppmärksamhet. Eftersom titlarna är synliga kan någon upprepade gånger försöka med olika lösenord för att få åtkomst – särskilt om innehållet ser värdefullt eller känsligt ut.

Det är därför många webbplatsägare väljer att helt dölja lösenordsskyddade inlägg från WordPress-loopen. När du gör detta kommer privata inlägg inte att visas någonstans på frontend om inte någon redan har åtkomst.

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 jobbet.

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

🧑‍💻 Experttips: Den här handledningen fungerar perfekt med den kostnadsfria versionen av WPCode. Om du regelbundet lägger till eller hanterar flera anpassade kodavsnitt, ger en uppgradering till WPCode Pro dig användbara extrafunktioner som kodschemaläggning, fullständig revisionshistorik och mer.

Så, gå först vidare och installera och aktivera WPCode-pluginet.

Från din WordPress-instrumentpanel, gå till Plugins » Lägg till nytt plugin.

Under-menyn Lägg till nytt plugin under Plugins i WordPress adminområde

På nästa skärm kan du använda sökfältet för att leta efter WPCode.

När det visas i resultaten, klicka på knappen ‘Installera nu’ och sedan ‘Aktivera’ för att börja använda pluginet på din webbplats.

Installera WPCode

Om du är ny på WordPress kan du kolla in vår guide om hur man installerar ett WordPress-plugin.

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 talar om för WordPress att leta efter alla inlägg som har ett lösenord och exkluderar dem från frågan. Detta säkerställer att de inte visas i listor som din hemsida eller arkiv, men de kommer fortfarande att vara tillgängliga via direkta länkar.

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å hemsidan, 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-sida med flera författare  och vill att skyddade inlägg ska vara synliga för användare med behörighet att redigera privata inlägg?

För att göra detta behöver du redigera kodavsnittet du skapade i föregående steg. Ta helt enkelt bort koden du lade till tidigare och ersätt den med detta nya kodavsnitt:

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 privata inlägg och visar bara 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.

Behöver jag redigera mina temafiler för att dölja lösenordsskyddade inlägg?

Nej, du behöver inte redigera temafiler direkt. Du kan använda ett anpassat kodavsnitt, och ett plugin som WPCode gör det säkert och enkelt att lägga till utan att skada din webbplats.

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.

Andra hjälpsamma guider för att hantera en WordPress-medlemskapswebbplats

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åra handledningar om:

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.