function query_posts deaktiviert current_page_menu class

Ich habe eine Kopfzeile und ein Fußmenü (sie sind die gleichen: Primäres Menü). Wenn ich auf einer Seite bin, fügt wordpress classn wie current_page_menu . Aber auf Seiten, auf denen ich die function query_posts() werden die Menüs nach dieser function nicht wie current_page_menu usw. hinzugefügt.

Hier ist mein Code, der den Fehler verursacht:

 term_id; query_posts( 'cat='.$cat_id.'&post_status=publish,future&paged='.get_query_var('paged') ); ?> 

Dieser Code ist jedoch sehr nützlich. Dadurch wird sichergestellt, dass Sie eine Kategorieseite erstellen, indem Sie eine Seite hinzufügen und die Kategorieseitenvorlage statt nur eines Links zu dieser Kategorie auswählen. Ich musste dies tun, weil meine Kategorieseiten untergeordnete Seiten haben müssen.

Ich wäre dankbar, wenn jemand eine Lösung kennt!

Solutions Collecting From Web of "function query_posts deaktiviert current_page_menu class"

Das Problem wird durch die query_posts function verursacht. Diese function ändert die globale $ wp_query, die der Menüreiter verwendet, um classn wie current_page_menu zu Menüpunkten zu überprüfen und hinzuzufügen.

Eine Lösung wäre, eine neue benutzerdefinierte Abfrage zu schreiben und diese dann query_posts als mit query_posts .

 $title_slug = strtolower(str_replace( " ", "-" , the_title_attribute('echo=0') ) ); $id_obj = get_category_by_slug($title_slug); $cat_id = $id_obj->term_id; $args = 'cat='.$cat_id.'&post_status=publish,future&paged='.get_query_var('paged'); // The Query $the_query = new WP_Query( $args ); // The Loop if ( $the_query->have_posts() ) : ?> < ?php while ( $the_query->have_posts() ) : $the_query->the_post(); ?> //YOUR CONTENT < ?php endwhile; ?> /* Restore original Post Data */ < ?php wp_reset_postdata(); ?> < ?php endif; ?> 

Verweise:

  • query_posts
  • WP_Query