Holen Sie den Namen der Kategorie Archivvorlage dynamisch

Ich erstelle eine Kategorie-Archivvorlage, die für alle meine Kategorien funktioniert. Ich muss den 'category' Parameter von WP_Query innerhalb dieser Vorlage dynamisch setzen, damit es funktioniert.

Wie erhalte ich dynamisch eine Zeichenfolge des aktuellen Kategorieseitennamens, die in WP_Query eingegeben werden soll? Alle Methoden, die ich gesehen habe, setzen voraus, dass ich meine ID oder meinen slug kenne. Da es sich um eine Archivseite handelt, geben die meisten WP-functionen nicht den Titel der Archivseite zurück, sondern einen Posttitel.

Die beste Option, die ich gesehen habe, ist: $current_category = single_cat_title("", false);

Aber es zeigt immer noch den Titel auf meiner category.php Seite an – vielleicht mache ich damit etwas falsch?

Solutions Collecting From Web of "Holen Sie den Namen der Kategorie Archivvorlage dynamisch"

Dies ist die einzige Option, die ich gefunden habe:

 $current_category = single_cat_title("", false); 

Um Ihre Frage zu beantworten, erhalten Sie mit get_queried_object und get_queried_object_id alle Informationen, die Sie für die meisten Seiten benötigen.

Wenn Sie jedoch eine neue Abfrage in der Vorlage erstellen, um einige Abfrageparameter zu ändern, sollten Sie stattdessen pre_get_posts , um die Hauptabfrage vor der Ausführung zu ändern. Dann können Sie einfach die normale Schleife in Ihrer Vorlage ausführen.

Beispiel: posts_per_page für ein Kategoriearchiv ändern:

 function wpd_category_query( $query ) { if ( $query->is_category() && $query->is_main_query() ) { $query->set( 'posts_per_page', 15 ); } } add_action( 'pre_get_posts','wpd_category_query' );