wp_reset_postdata funktioniert nicht für die Kategorieseite

Ich habe eine Kategorie-Vorlage, die einige Posts und einige Inhalte anzeigt, die von einer Plugin-Vorlage generiert wurden, die the_permalink() , um auf die aktuelle URL zu verweisen. Die Kategorievorlage sieht folgendermaßen aus ( category.php ):

  parent, 'category') ?> slug !== 'teams' && $categoryQuery[0]->slug !== 'teams') { get_template_part( 'archive', get_post_format() ); } else { get_header(); ?> 
slug ); ?> name ); ?> ... // Here goes the plugin template ...

Und die Datei teams-header.php sieht so aus:

 ...  $categorySlug, 'showposts' => 5, 'paged' => $paged, )); $newnum = 1; $maxNumPages = $featpost->max_num_pages; while($featpost->have_posts()) : $featpost->the_post(); ... $newnum++; endwhile; ?>   

Das Problem ist, dass die Plugin-Vorlage die erste angezeigte Post-URL als die aktuelle URL the_permalink() mit the_permalink() ) und nicht die Kategorie eins. wp_reset_postdata() sollte die aktuellen Post-Daten zurücksetzen, aber vielleicht fehlt mir etwas. Irgendeine Idee?

Solutions Collecting From Web of "wp_reset_postdata funktioniert nicht für die Kategorieseite"

Sie können die Kategorie-ID abrufen und den Permalink abrufen, indem Sie get_category_link ($ Id) verwenden.

Ich habe es getriggers, indem ich $post auf null nachdem die Posts rendern:

 < ?php $categoryQuery = get_the_category(); ?> < ?php $parentCategory = get_term_by('id', $categoryQuery[0]->parent, 'category') ?> < ?php if ($parentCategory->slug !== 'teams' && $categoryQuery[0]->slug !== 'teams') { get_template_part( 'archive', get_post_format() ); } else { get_header(); ?> 
< ?php set_query_var( 'categorySlug', $categoryQuery[0]->slug ); ?> < ?php set_query_var( 'categoryName', $categoryQuery[0]->name ); ?> < ?php get_template_part( 'teams-header', get_post_format() ); ?> < ?php $post = null; // This solves the problem and the_permalink() is the category page ?> < ?php } ?> ... // Here goes the plugin template ...