Hvordan skjule et innlegg eller side i WordPress

av naldy

Har du noen gang ønsket å skjule et innlegg fra forsiden i WordPress? Det er enkelt å gjøre et innlegg passordbeskyttet eller privat, men i noen tilfeller kan det være ønskelig å bare skjule de.

Ikke nok med at du kan skjule innlegg fra forsiden, du kan skjule det fra arkiv, kategorier og søkeresultat. Da er innlegget kun synlig for de som har nettadressen direkte til innlegget.

Skjul et blogginnlegg fra forsiden med en utvidelse

Det første du trenger å gjøre er å installere og aktivere utvidelsen WordPress Hide Posts. For mer informasjon les hvordan installere en utvidelse i WordPress.

Når utvidelsen er aktivert, vil du kunne se alternativer for synlighet når du redigerer et innlegg.

WordPress Hide Posts

Som du kan se fra skjermbildet ovenfor, kan du skjule innlegget fra forsiden, kategorier, søk, stikkord, forfatterside osv.

Velg de alternativene du ønsker og deretter lagre innlegget. Alt etter hvilke alternativer du valgte, kan du besøke disse sidene og se at det aktuelle innlegget ikke er oppført.

Skjul sider og innlegg i WordPress manuelt

Hvis du ikke vil benytte en utvidelse, eller har behov for å skjule egendefinerte innleggstyper som WooCommerce -produkter eller et innlegg fra RSS nyhetsstrøm, må du legge til litt kode i WordPress.

Koden kan legges til i WordPress ved hjelp av en utvidelse som Code Snippets, eller limes inn i functions.php fra Utseende > Temaredigering.

WordPress kjører en databasespørring for å hente og vise innlegg basert på nettsiden som åpnes. For å skjule et innlegg må du ekskludere det fra spørringen som henter innhold til den aktuelle siden.

Du trenger ID-nummeret for innlegget eller siden du vil skjule. I utgangspunktet kan du bare redigere et innlegg eller en side for å se ID-nummeret.

Finn ID-nummer

For mer informasjon les hvordan finne ID-nummer for sider og innlegg.

Skjul et innlegg fra forsiden

Koden under bruker is_home() for å finne ut om leseren har åpnet forsiden. Hvis det er riktig, ekskluderes innleggene du har skrevet inn i koden.

function wpo_exclude_home($query) {
      if ($query->is_home() ) {
          $query->set('post__not_in', array(3911, 1899));
      }
}
add_action('pre_get_posts', 'wpo_exclude_home');

Koden ovenfor skjuler innlegg med ID 3911 og 1899.

Skjul et innlegg fra RSS nyhetsstrøm

Hvis du vil skjule en side eller et innlegg fra RSS nyhetsstrøm, benyttes koden is_feed().

function wpo_exclude_feed($query) {
      if ($query->is_feed() ) {
          $query->set('post__not_in', array(3911, 2199));
      }
}
add_action('pre_get_posts', 'wpo_exclude_feed');

Koden ovenfor skjuler innlegg med ID 3811 og 2199.

Hvis du er logget inn som administrator vil du fortsatt kunne se innlegget i nyhetstrøm, men hos alle andre vil siden eller innlegget være skjult.

Skjul et innlegg fra søkefunksjon

Du kan også skjule spesifikke innlegg fra søkefunksjonen i WordPress med koden is_search().

function wpo_exclude_search($query) {
      if ( $query->is_search() ) {
          $query->set('post__not_in', array(8321, 4312));
      }
}
add_action('pre_get_posts', 'wpo_exclude_search');

Koden ovenfor skjuler innlegg med ID 8321 og 4312.

Hvis du nå forsøker å søke etter innleggene du har skjult, vil du ikke finne de i søkeresultatene.

Ingen treff for søket

Skjul et innlegg fra arkiver

Hvis du vil skjule en side eller innlegg fra arkiver for emner, stikkord m.m. brukes koden is_archive().

function wpo_exclude_archive($query) {
      if ( $query->is_archive() ) {
          $query->set('post__not_in', array(3222, 9211));
      }
}
add_action('pre_get_posts', 'wpo_exclude_archive');

Koden ovenfor skjuler innlegg med ID 3222 og 9211.

Skjul en side eller innlegg fra hele nettstedet

Så langt har du lært hvordan du kan skjule et innlegg eller side fra bestemte områder i WordPress. Hvis du bare ønsker å skjule en side eller innlegg helt, kan du kombinere kodene ovenfor.

function wpo_exclude_all($query) {
      if ( $query->is_home() || $query->is_feed() ||  $query->is_search() || $query->is_archive() ) {
          $query->set('post__not_in', array(2199, 1212));
      }
}
add_action('pre_get_posts', 'wpo_exclude_all');

Denne koden skjuler innhold med ID 2199 og 1212 fra forsiden, RSS nyhetsstrøm, søkeresultater og arkiver.

Oppsummering

Du har nå lært hvordan du kan skjule et innlegg eller side fra noen eller alle områder i WordPress. Vær oppmerksom på at selv om de skjules fra brukergrensesnittet, vil de fremdeles være synlig for de som åpner nettadressen direkte innholdet.

Det samme problemet oppstår om søkemotorer som Google allerede har indeksert det du forsøker å skjule. Da vil brukere finne nettadressen fra søkemotorer.

Hvis du vil skjule noe fra søkemotorer kan du endre alternativer for indeksering av nettstedet. Det gjør du enkelt ved å bruke utvidelsen Yoast SEO, eller redigere robots.txt manuelt.

User-agent: *
Disallow: /permalenke-til-innlegg-eller-side

Denne metoden er dessverre heller ikke uten mangler. Det er nemlig ingen garanti for at alle søkemotorer respekterer reglene du legger inn i robots.txt.

I tillegg er det viktig å være oppmerksom på at robots.txt er tilgjengelig for alle. Hvem som helst kan åpne nettadressen direkte til filen og lese innholdet, dermed er reglene og innholdet du skjuler eksponert.

Når du ikke bare skal skjule innhold fra brukergrensesnittet, men ønsker å gjøre det utilgjengelig for uvedkommende bør du i stedet bruke passordbeskyttelse.

Postens synlighet

WordPress har innebygd støtte for å blokkere tilgang til innlegg eller sider med passord. Da er det kun de som har riktig passord som får se innholdet.

Kanskje du liker

Skriv en kommentar

* Vennligst gjør deg kjent med vår personvernerklæring.

Vi benytter cookies for utvidet funksjonalitet, bedre nettleser-opplevelse, statistikk og målrettede annonser. OK Les mer

HOLD DEG OPPDATERT

MELD DEG PÅ NYHETSBREV

Sendes ut ca. hver 3. måned.