Beiträge einer Kategorie nicht in der Übersicht (Archive) zeigen

Beiträge einer bestimmten Kategorie auf einer WordPress-Webseite nicht in der Beitragsübersicht (Archive) anzeigen

Möglicherweise möchten Sie auch in bestimmten Fällen Beiträge einer bestimmten Kategorie auf einer WordPress-Webseite veröffentlichen, aber nicht in der Beitragsübersicht (Archive) anzeigen. Das kann man einfach über eine kleine Funktion in der functions.php erledigen. Alternativ funktioniert das auch über das Plugin Ultimate Category Excluder.

Diesen Fall hatten wir auf einer Webseite von uns: Den Beitrag zu einem Vortrag wollten wir veröffentlichen, damit sich Teilnehmer beim Vortrag diesen Beitrag ansehen können. Aber der Beitrag sollte nach dem Vortrag noch weiter überarbeitet werden. Daher sollte der Beitrag erst mal nicht in der Übersicht (Archive) erscheinen.

Normalerweise können Sie Beiträge, die Sie noch nicht veröffentlichen möchten, als Entwurf speichern. Wenn Sie allerdings den Beitrag lediglich in der Beitragsübersicht aus welchen Gründen auch immer nicht zeigen möchten, dann kommen wir mit dieser Lösung nicht weiter.

Die Funktion für den Ausschluss einer Kategorie oder eines Beitrags

Grundlage für diesen Beitrag hier war die folgende Dokumentation zu WordPress zum Hook pre_get_posts.

Wenn Sie ein Child Theme verwenden, können sie die nachfolgende Funktion in die functions.php des Child Themes einfügen. Falls Sie kein Child Theme nutzen, sollte das mit dem Plugin Code Snippets funktionieren, bei dem man den Code als neues Snippet hinzufügt.

Dazu habe ich zunächst eine neue Kategorie „Keine Anzeige“ erstellt. Für die Funktion brauchen wir allerdings die ID der Kategorie. Diese ID kann man herausbekommen, wenn man im Dashboard mit dem Cursor auf Bearbeiten „stehen“ (Hover) bleibt. Dann sieht man unten links (gelb markiert im Screenshot) die ID. In unserem Fall ist das die ID „1486“:

WordPress: Kategorie-ID ermitteln
Foto: haurand.com

Und hier die entsprechende Funktion, die man dafür nutzen kann. In dem u. g. Code ist übrigens als Kommentar markiert, wie man alternativ auch einzelne Beiträge ausschließen kann:

/*----------------------------------------------------------------*/
/* Start: Beiträge der Kategorie "Keine Anzeige" nicht zeigen
/* Datum: 25.05.2021
/* Autor: hgg
/*----------------------------------------------------------------*/
function exclude_single_posts_home($query) {
  if ( $query->is_home() && $query->is_main_query() ) {

      /* zeigt einen bestimmten Beitrag nicht: */
      /* $query->set( 'post__not_in', array(6873) ); */ 

      /* zeigt eine bestimmte Kategorie (in dem Fall "Keine Anzeige" nicht */
      $query->set('cat', '-1486'); 
  }
}
add_action( 'pre_get_posts', 'exclude_single_posts_home' );
/*----------------------------------------------------------------*/
/* Ende: Beiträge der Kategorie "Keine Anzeige" nicht zeigen
/* Datum: 25.05.2021
/* Autor: hgg
/*----------------------------------------------------------------*/

Kategorie im Block „Neueste Beiträge“ ausschließen

Wenn Sie zusätzlich auch den Block „Neueste Beiträge“ auf einer Seite (z. B. der Startseite) nutzen möchten, können Sie durch Nennung der entsprechenden Kategorien dafür sorgen, dass nur bestimmte Beiträge gezeigt werden. Angenommen, die Beiträge auf der Seite, die gezeigt werden sollen, haben die Kategorie „WordPress“. Dann nennt man in der entsprechenden Eigenschaft auch nur diese Kategorie. Die Kategorie „Keine Anzeige“ würde man in dem Fall an der Stelle nicht notieren:

Grafik: haurand.com

Kategorien ausschließen über das Plugin Ultimate Category Excluder

Wem das alles zu technisch ist, der kann das auch über ein Plugin erledigen: Ultimate Category Excluder, abgekürzt als UCE, ist ein WordPress-Plugin, mit dem Sie Kategorien von Ihrer Startseite, Archiven, Feeds und Suchen ausschließen können. Wir haben das Plugin auf einer Webseite im Einsatz und da funktioniert das Plugin einwandfrei. Mit dem Plugin hat man noch mehr Einstellungsmöglichkeiten als über die o. g. Funktion:

Ultimate Category Excluder

Fazit

Auf diese relativ einfache Art können Sie über den genannten Hook erreichen, dass Sie bestimmte Beiträge in der Übersicht (Archive) nicht anzeigen lassen. Wenn Sie kein Child Theme nutzen, können Sie diese Funktion auch über das Plugin Ultimate Category Excluder mit noch mehr Einstellungsmöglichkeiten nutzen.


Mehr erfahren auf dieser Webseite

Foto: haurand.com


Zum Blog

Mehr erfahren auf unserer Webseite

Wir freuen uns über Ihre Kontaktaufnahme

Was halten Sie davon?

Ich hoffe, dieser Beitrag hat Ihnen gefallen und wir würden uns über einen Kommentar freuen. Auch über Erweiterungen, Korrekturen, Hinweise oder sonstige Anmerkungen freuen wir uns sehr.

Weitere interessante Beiträge rund um WordPress finden Sie hier

Schreibe einen Kommentar