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.
Das macht man zum Beispiel, wenn es Inhalte gibt, die zwar den Suchmaschinen Futter geben sollen, aber den normalen Standardbesucher nicht interessieren. Eigentlich ist das ganz einfach und ohne Plugin möglich:
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.
War 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.