2017-02-04 4 views
0

Ich erstelle einen Abschnitt "Featured Content" auf meiner WordPress-Homepage. Ich habe eine Funktion hinzugefügt, mit der Tags zu Seiten hinzugefügt werden können.Wordpress WP_Query nicht zurück post_type

Dann in index.php Ich habe hinzugefügt:

<?php $featured_pages = new WP_Query(array(
    'post_type' => 'page', 
    'tag' => 'featured', 
    'posts_per_page' => 5 
)); 
if ($featured_pages-> have_posts()) : 
    while ($featured_pages->have_posts()) : $featured_pages-> the_post(); 
     get_template_part('template-parts/content-featured'); 
    endwhile; 
endif; 
wp_reset_postdata(); ?> 

Aber aus irgendeinem Grund, der post_type Teil des WP_Query Array funktioniert nicht. Es gibt alle post_types zurück. Wenn ich es in 'attachment' ändere, gibt es noch Posts und Seiten zurück.

Ich bin neu in WordPress, fehle ich hier etwas?


Nach weiteren Untersuchungen scheint das 'Tag' den 'post_type' zu überschreiben. Ansonsten werden nur Seiten angezeigt. Damit werden auch Beiträge eingebunden.

Antwort

0

Diese Frage war nicht zu beantworten, da ich nicht erkannt hatte, dass das Problem durch eine Funktion verursacht wurde, die ich an anderer Stelle hinzugefügt hatte und die ich hier nicht aufgeführt hatte.

Aber andere Leute können finden Sie diese nützlich, da der Code, den ich verwendet wurde weitgehend aus dieser Ressource https://www.sitepoint.com/wordpress-pages-use-tags entnommen wurde.

Ich hatte diese Funktion (Kopieren und Einfügen von anderswo) hinzugefügt:

function tags_support_query($wp_query) { 
    if ($wp_query->get('tag')) $wp_query->set('post_type', 'any'); 
} 

add_action('pre_get_posts', 'tags_support_query'); 

Was ich Mittel denken, wenn Sie WP_Query benutzen Sie ‚Tag‘, wird es immer die Post Typ auf ‚jede ". Was ich denke ist nicht gut, also habe ich es gelöscht und mein Code in der Frage funktioniert wie erwartet.

Verwandte Themen