Blog

Beiträge, Snippets, Tipps & Tricks
rund um Webdesign, SEO & Co.

Custom Post Types in Archives.php integrieren

von • Themen: , ,
wordpress-custom-post-types-cpt

Die archives.php eines WordPress-Themes stellt standardmäßig nur Beiträge des Standard-Post-Types „posts“ dar. Mit einer schlanken Erweiterung ist es aber möglich, Beiträge beliebiger Custom Post Types in das Archiv-Template einfließen zu lassen.

Custom Post Types sind zweifelsohne eine äußerst praktische Funktion von WordPress, die dem beliebten Content-Management-System eine hohe Flexibilität bescheren. Die Einsatzgebiete für CPTs sind dabei vielfältig und gleichermaßen individuell. Oftmals kennt man Custom Post Types von beispielsweise Themes, die über spezielle Funktionen wie z.B. die Möglichkeit zur Pflege von Referenzen oder Terminen verfügen. Auch wir als WordPress Agentur machen natürlich regelmäßig Gebrauch von diesem Feature, um in Kundenprojekten eine einfache und intuitive Verwaltung und Pflege von verschiedenen Beitragstypen bieten zu können.

Zurück zum eigentlichen Thema dieses Artikels: Verwendet man im eigenen Theme die sogenannte archives.php, ein Template, welches für die Darstellung der Tag- und Kategorienseiten verantwortlich ist, so tauchen Beiträge von individuellen Custom Post Types leider nicht auf. Doch mit folgendem Snippet, das in der functions.php des gegenwärtig verwendeten Themes eingesetzt werden muss, kann dieses Problem im Handumdrehen gelöst werden.

function namespace_add_custom_types( $query ) {
  if( is_category() || is_tag() && empty( $query->query_vars['suppress_filters'] ) ) {
    $query->set( 'post_type', array(
     'post', 'nav_menu_item', 'dein-custom-post-type'
		));
	  return $query;
	}
}
add_filter( 'pre_get_posts', 'namespace_add_custom_types' );

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

» «