Ich möchte nur Seiten mit einer bestimmten Seitenvorlage WP_Query
oder einer Funktion abfragen , die das Post-Objekt zurückgibt, aber ich kann im offiziellen Codex keine Informationen dazu finden.
14
Versuchen Sie Folgendes ... Angenommen, der Vorlagenname lautet 'my_template.php'.
$query = new WP_Query(
array(
'post_type' => 'page',
'meta_key' => '_wp_page_template',
'meta_value' => 'my_template.php'
)
);
//Down goes the loop...
Sie können auch get_posts verwenden oder Abfrageposts ändern , um die Aufgabe zu erledigen. Beide Funktionen verwenden dieselben Parameter wie WP_Query .
Falsch: Ab WordPress 3 benötigen Sie etwas Ähnliches wie:
$args = array(
'post_type' => 'page',
'meta_query' => array(
array(
'key' => '_wp_page_template',
'value' => 'my_template.php'
)
)
);
post_type
. Andernfalls benötigen Sie dasmeta_query
Array nicht für ein einzelnes benutzerdefiniertes Schlüssel / Wert-Paar.meta_key
undmeta_value
oder mit einem einfachen Array sein, das mehrere Bedingungen enthalten könnte.Die Seitenvorlage wird als Metawert mit dem Schlüssel "_wp_page_template" gespeichert.
Sie müssen diesen Schlüssel also nur in einem Meta-Abfrageparameter verwenden. Zum Beispiel
Siehe http://codex.wordpress.org/Displaying_Posts_Using_a_Custom_Select_Query#Query_based_on_Custom_Field_and_Sorted_by_Value
und http://codex.wordpress.org/Class_Reference/WP_Query#Custom_Field_Parameters
quelle
Wenn jemand falsch versucht, keine Beiträge zu verfassen, ist der Name der Vorlage wahrscheinlich falsch. Ich habe den Namen der PHP-Datei und meinen Vorlagennamen ausprobiert und sie haben nicht funktioniert. Dann habe ich beschlossen, das Auswahlfeld für Vorlagen zu überprüfen, in dem wir die Vorlage im Seiteneditor auswählen. Ich habe das gefunden:
Ich habe verwendet
templates-map/component-tutorial-1.php
und es hat funktioniert.quelle
Wenn Sie die Vorlage in einem anderen Ordner haben:
quelle