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!
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: