kulturbanause Blog

Responsive Design, WordPress, Konzeption, HTML, CSS, JS & UX/UI …

WordPress-Standard-Loop um Custom Post Types erweitern

Um in WordPress »Custom Post Types« auf der Website anzuzeigen verwendet man meistens den sog. »WP Query«, da hier mit geringem Aufwand festgelegt werden kann, welche »Post Types« ausgegeben werden sollen. Für den Fall, dass ihr nicht »WP Query« nutzen möchtet oder könnt, zeigen wir euch in diesem Beitrag wie ihr den WordPress-Standard-Loop um Custom Post Types erweitern könnt.

Workshops und Seminare von kulturbanause

Unsere Seminar-Termine für 2018 sind online!

Visual Prototyping, Responsive Design, WordPress, Adobe Muse, HTML & CSS, Website-Optimierung …

Jetzt Frühbucher-Preise sichern!

WP-Loop um Custom Post Types erweitern

Der WordPress-Standard-Loop (»The Loop«) gibt standardmäßig keine Custom Post Types (CPTs) aus, sondern immer die Beiträge, die entsprechend der Template Hierarchie festgelegt wurden. Um den Standard-Loop um CPTs zu ergänzen, müsst ihr folgendes Snippet in die functions.php eures Themes oder in ein seitenspezifisches Plugin schreiben. Die gewünschten Custom Post Types tragt ihr kommasepariert in das array ein.

<?php
function kb_add_post_types_to_loop($query) {
  if (!is_admin()) {
    if ($query->is_main_query()) {
      $query->set('post_type', array('post', 'YOUR POSTTYPE 1', 'YOUR POSTTYPE 2'));
    }
  }
}

add_action('pre_get_posts','kb_add_post_types_to_loop');
?>

Mit Hilfe der Aktion »pre_get_posts« wird nun der Loop um eure Custom Post Types erweitert.

Achtet immer darauf, dass ihr bei euren Loop-Anpassungen den Administrationsbereich mit Hilfe von »!is_admin()« ignoriert, um Fehler im Backend zu verhindern.

WordPress-Standard-Loop nur für spezielle Seiten anpassen

Soll euer Loop nicht global sondern nur auf speziellen Seiten oder Templates erweitert werden, könnt ihr die Abfrage einfach weiter einschränken. Im unten stehenden Code-Beispiel wird der Loop inklusive der hinzugefügten Custom Post Types nur auf der Startseite (Front Page) ausgegeben.

<?php
function kb_add_post_types_to_loop($query) {
  if (!is_admin()) {
    if ($query->is_main_query() && is_front_page()) {
      $query->set('post_type', array('post', 'YOUR POSTTYPE 1', 'YOUR POSTTYPE 2'));
    }
  }
}

add_action('pre_get_posts','kb_add_post_types_to_loop');
?>

Links / Quellen

Jetzt bist du gefragt!

Hast du Anregungen, Ergänzungen, einen Fehler gefunden oder ist dieser Beitrag nicht mehr aktuell? Dann freuen wir uns auf deinen Kommentar.

Du kannst diesen Beitrag natürlich auch weiterempfehlen. Wir sind dir für jede Unterstützung dankbar!

Unterstützung bei WordPress-Projekten

Unsere WordPress Agentur ist auf die Entwicklung maßgeschneiderter WordPress-Themes und -Websites spezialisiert. Wenn du Unterstützung bei der Planung, Gestaltung und Entwicklung eines Projekts benötigst, helfen wir gerne weiter.
WordPress-Leistungsangebot →

Das könnte dich auch interessieren

Kommentar verfassen

Dieser Blog lebt vom Feedback der Besucher! Also los, mach mit!
Bitte habe Verständnis dafür, dass Kommentare die mit dem Inhalt dieses Beitrags nichts zu tun haben, gelöscht werden.