Nur benutzerdefinierte Archive archivieren?

Ich verwende die function unten, um zu versuchen, nur Posts des Typs “direct_blog” anzuzeigen. Aus irgendeinem Grund werden jedoch auch Standardposts angezeigt und ich weiß nicht warum?

Deine Hilfe ist sehr Willkommen. Danke im Voraus.

function blogs_custom_author_archives_posts_per_page($query) { if (!is_admin() && $query->is_main_query()) { if ($query->is_author()) { $query->set('post_type', array('direct_blog')); $query->set('posts_per_page', 5); } } } add_action('pre_get_posts', 'blogs_custom_author_archives_posts_per_page'); 

Solutions Collecting From Web of "Nur benutzerdefinierte Archive archivieren?"

Sie möchten nur Posts vom Post-Typ direct_blog , aber NICHT den normalen post Typ?

Dann müssen Sie nur den post von dieser Zeile entfernen:

 $query->set('post_type', array('post', 'direct_blog')); 

Aktualisieren:

Ich habe gerade den folgenden Code getestet.

Zuerst müssen Sie Ihre function erneut aufrufen, da Sie einige Fehler darin haben.
In dem Code in Ihrer Frage fehlt Ihnen ein Schließen } !
posts_per_page du auch posts_per_page , aber du verpasst das ” s “, in deiner function ist es post_per_page .

Also ich glaube du willst so etwas:

 function my_pre_get_posts( $query ) { if (!is_admin() && $query->is_main_query()) { if ($query->is_author()) { $query->set( 'post_type', array( 'my_type' )); $query->set( 'posts_per_page', 5 ); } } } add_action( 'pre_get_posts', 'my_pre_get_posts' ); 

Wie ich oben sagte, funktioniert dieser Code in meiner WP-Testseite, ich sehe keine normalen Posts, nur Posts von my_type in meiner Autor-Archiv-Vorlage. Also versuche my_type in deinen Post-Typ zu ändern (stelle sicher, dass direct_blog der richtige Slug ist)