Manchmal möchte man in seinem WordPress Blog Inhalte von der Startseite ausschließen. Zum Beispiel ganze Kategorien oder Inhalte, die mit einem bestimmten Keyword getagged wurden. Hier findest du eine einfache Lösung.
Inhalte ausschließen möchte man, wenn es zB Inhalte gibt, die zwar den Suchmaschinen Futter geben sollen, aber den normalen Standardbesucher nicht interessieren. Oder aber, wenn die Inhalte nicht so präsent auf der Website zu sehen sein sollen. Nicht jeder Inhalt ist für die Startseite geeignet und dort erwünscht. Für ganze Kategorien oder Tags kann man ganz einfach und ohne Plugin umsetzen:
Inhaltsverzeichnis:
In WordPress Kategorien von der Startseite ausschließen?
Zu allererst benötigst du die ID der Kategorie, die du ausschließen möchtest. Wo du diese herbekommst, findest du am Ende dieses Artikels: Woher bekomme ich die ID einer Kategorie?
Anschließend fügst du das folgende Snippet in die functions.php in deinem Template ein und fütterst das Array mit den Kategorie-IDs, die du ausschließen möchtest. Das kann entweder eine ID sein oder mehrere IDs durch Kommas getrennt (in meinem Fall 12, 23, 47). Speichern. Fertig.
// Kategorie von Startseite ausschließen function filter_cats() { global $wp_query; if(is_home()) { $wp_query->set('category__not_in',array(12, 23, 47)); } } add_action('pre_get_posts','filter_cats');
Zur Erklärung: das Snippet macht nichts anderes als eine Funktion zu erstellen, welche ausgeführt wird, bevor die Posts ausgegeben werden und dort abzufragen, ob die Seite die Startseite ist. Wenn ja, dann gib dem WP_Query-Objekt die Info mit, dass die angegebenen Kategorien gefiltert werden sollen.
In WordPress Tags von der Startseite ausschließen?
Du gehst hier exakt so vor, wie bei der Filterung der Kategorie aus der Startseite. Zuerst suchst du die ID des Tags aus (wo finde ich die ID des Tags?) und fügst das folgende Snippet in die functions.php ein. Das Array sollte dann eine oder mehrere deiner zu filternden IDs enthalten (in meinem Fall 30, 32).
// Kategorie von Startseite ausschließen function filter_tags() { global $wp_query; if(is_home()) { $wp_query->set('tag__not_in',array(30,32)); } } add_action('pre_get_posts','filter_tags');
War doch eigentlich sehr einfach oder? Und ganz ohne irgendein Plugin. Der Webserver wird es einem danken.
Gutenberg Block Editor: Beiträge filtern
Im Gutenberg-Editor kannst du spezifische Inhalte für die Startseite erstellen und festlegen, welche Kategorien oder Tags angezeigt oder ausgeschlossen werden sollen. Dazu nutzt du den „Beiträge“-Block und stellst Filter direkt im Block ein.
- „Beiträge“-Block hinzufügen: Füge den Block „Beiträge“ zur Startseite hinzu.
- Filtereinstellungen: In den Block-Einstellungen kannst du unter „Kategorien“ gezielt eine oder mehrere Kategorien auswählen, die auf der Seite angezeigt werden sollen. Du kannst dort keine expliziten Ausschlüsse eingeben, sondern nur eine positive Auswahl treffen.
- Workaround für Ausschlüsse: Falls keine passende Auswahl möglich ist, kann man mit einer benutzerdefinierten Seitenvorlage (
page-blog.php
) in derfunctions.php
arbeiten und dabei den oben beschriebenen Filter-Code anwenden. Gutenberg übernimmt dann diese Filterung in der ausgewählten Blog-Vorlage.
Elementor Pagebuilder: Kategorien oder Tags filtern
Mit Elementor lassen sich ebenfalls Inhalte gezielt anzeigen oder ausschließen, und das geht oft sehr flexibel:
- Beiträge-Widget hinzufügen: Ziehe das Beiträge-Widget von Elementor auf die Seite, auf der du die Beiträge anzeigen willst (z. B. die Startseite).
- Filteroptionen in den Einstellungen: Gehe in den Einstellungen des Beiträge-Widgets auf den Tab Abfrage (Query). Hier kannst du direkt Kategorien oder Tags auswählen, die angezeigt werden sollen.
- Für einen Ausschluss kannst du „Exclude by“ verwenden und Kategorien oder Tags auswählen, die nicht angezeigt werden sollen.
- Dynamische Inhalte nutzen (Pro Version): Mit der Elementor Pro-Version und dynamischen Tags könntest du zudem benutzerdefinierte Queries und Filtermöglichkeiten noch weiter verfeinern, z.B. über Custom Fields oder benutzerdefinierte Kategorien, wenn du etwas sehr Spezifisches brauchst.
Wäre die Frage noch offen:
Wo finde ich die Kategorie-ID oder Tag-ID in WordPress?
Eine Möglichkeit ist die Tabelle prefix_terms in deiner WordPress Datenbank (prefix natürlich mit deinem Präfix ersetzen). Dort findest du alle Kategorien und Tags der Reihe nach Anlage gelistet. Die term_id ist die ID, welche dich interessiert.
Oder noch einfacher: Im WordPress-Backend findest du die ID in der Kategorie-Übersichtsseite oder Schlagwort-Übersichtsseite. Wenn du dort mit der Maus über den Link zu der jeweiligen Kategorie oder dem jeweiligen Schlagwort fährst, wird dir der Link unten im Browser angezeigt. der URL Parameter tag_id zeigt ebenso die gewünschte ID.