Listen Sie Beiträge UND benutzerdefinierten Beitragstyp nach Kategorie

Ich habe diese Frage an anderer Stelle gefragt, aber es war unbeantwortet, also frage ich mich.

Ich habe einen benutzerdefinierten Post-Typ (Features), der meine Kategorien und Tags mit meinen Standard-Posts teilt. Ich listet meine Kategorien auf:

 

Die resultierende Liste enthält Kategorien, die nur auf Features angewendet werden. Ich weiß, dass das funktioniert, weil einige von diesen auf leere Seiten zeigen. Das Problem liegt also in der Schleife, die ich auf meiner Archivseite verwende.

Hier ist die Schleife:

   ID, 'custom_post_class', false); ?> <article  id="post-" role="article"> 

<a href="https://wordpress.stackexchange.com/questions/33864/list-posts-and-custom-post-type-by-category/" title="">

By

<time datetime="">

<?php edit_post_link('Edit this post ✍', '

', '

'); ?>

Kannst du mir sagen, was ich hinzufügen müsste, um meinen benutzerdefinierten Beitragstyp hier erscheinen zu lassen?

Solutions Collecting From Web of "Listen Sie Beiträge UND benutzerdefinierten Beitragstyp nach Kategorie"

Ich fand diese Antwort im WordPress-Forum hilfreich:

http://wordpress.org/support/topic/custom-post-type-posts-not-displayed?replies=5#post-2805344

Im Grunde bezieht sich das Poster auf einen Beitrag von Justin Tadlock (der übrigens eine Autorität in WordPress Theme und Plugin Design ist. Folgen Sie seinem Blog, wenn Sie sich mit WordPress beschäftigen wollen.)

http://justintadlock.com/archives/2010/02/02/showing-custom-post-types-on-your-home-blog-page

In seinem Blogbeitrag stellt er ein Code-Snippet zur Verfügung, das Sie zu Ihrer functions.php Seite hinzufügen können:

 add_filter( 'pre_get_posts', 'my_get_posts' ); function my_get_posts( $query ) { if ( is_home() && $query->is_main_query() ) $query->set( 'post_type', array( 'post', 'page', 'album', 'movie', 'quote' ) ); return $query; } 

und das scheint ziemlich gut zu funktionieren. Natürlich möchten Sie möglicherweise is_home() in is_archive() ändern und das Album, den Film und das Zitat für Ihre benutzerdefinierten Post-Typ-Handles ersetzen, wenn Sie sie mit der function register_post_type .

Überprüfen Sie zunächst, ob dies in Ihrem Code für die Registrierung des CPT festgelegt ist: 'has_archive' => true .

Als Nächstes haben Sie eine Archivseite für den benutzerdefinierten Post? Obwohl es nicht zwingend erforderlich ist, dass Sie eine Archivseite für den CPT haben, da der Hauptindex als Fallback verwendet wird, sollte eine CPT-Archivdatei Ihr Problem lösen. Kopiere diesen Code in eine neue php Datei und php ihn als archive-feature.php (wo ‘feature’ dein benutzerdefinierter Beitragstyp ist, überprüfe bitte, ob der Name und der Fall richtig sind). Außerdem benötigen Sie möglicherweise eine einzelne Vorlage für Ihren CPT-Einzelpost. Diese Datei sollte als single-feature.php . Weitere Informationen zu Vorlagendateien: Template Hieracry für CPTs . Hoffe das hilft!