Je voudrais interroger uniquement les pages avec un certain modèle de page avec WP_Query
ou une fonction qui retournerait l'objet post, mais je ne trouve aucune information à ce sujet sur le codex officiel.
14
Essayez ceci ... En supposant que le nom du modèle est '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...
Vous pouvez également utiliser get_posts ou modifier les messages de requête pour effectuer le travail. Ces deux fonctions utilisent les mêmes paramètres que WP_Query .
Incorrect: à partir de wordpress 3, vous avez besoin de quelque chose comme:
$args = array(
'post_type' => 'page',
'meta_query' => array(
array(
'key' => '_wp_page_template',
'value' => 'my_template.php'
)
)
);
post_type
. Sinon, vous n'avez pas besoin dumeta_query
tableau pour une seule paire clé / valeur personnalisée.meta_key
etmeta_value
ou avec un tableau simple, qui peut inclure plusieurs conditions.Le modèle de page est stocké en tant que méta-valeur avec la clé "_wp_page_template".
Il vous suffit donc d'utiliser cette clé dans un paramètre de méta-requête. Pour des exemples
Voir http://codex.wordpress.org/Displaying_Posts_Using_a_Custom_Select_Query#Query_based_on_Custom_Field_and_Sorted_by_Value
et http://codex.wordpress.org/Class_Reference/WP_Query#Custom_Field_Parameters
la source
Si la tentative de quelqu'un aboutit incorrectement à zéro publication, le nom du modèle est probablement incorrect. J'ai essayé le nom du fichier php et le nom de mon modèle et ils n'ont pas fonctionné. J'ai alors décidé d'inspecter la boîte de sélection des modèles où nous sélectionnons le modèle dans l'éditeur de page. J'ai trouvé ça:
J'ai utilisé
templates-map/component-tutorial-1.php
et cela a fonctionné.la source
Si vous avez le modèle dans un autre dossier:
la source