Je voudrais interroger uniquement les pages avec un certain modèle de page avec WP_Query
ou une fonction qui renverrait l'objet post, mais je ne trouve aucune information à ce sujet dans le codex officiel.
Essayez ceci ... En supposant que le nom du modèle soit '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 query posts pour que le travail soit effectué. Ces deux fonctions utilisent les mêmes paramètres que WP_Query .
Incorrect: à partir de WordPress 3, vous avez besoin de quelque chose qui ressemble à:
$args = array(
'post_type' => 'page',
'meta_query' => array(
array(
'key' => '_wp_page_template',
'value' => 'my_template.php'
)
)
);
Le modèle de page est stocké en tant que méta-valeur avec la clé "_wp_page_template".
Il suffit donc d’utiliser cette clé dans un paramètre de méta-requête. Pour des exemples
et http://codex.wordpress.org/Class_Reference/WP_Query#Custom_Field_Parameters
Si la tentative de quelqu'un aboutit incorrectement à zéro message, le nom du modèle est probablement faux. J'ai essayé le nom de fichier php et mon nom de modèle et ils ne fonctionnaient pas. Ensuite, j'ai décidé d'inspecter la boîte de sélection de modèles dans laquelle nous sélectionnons le modèle dans l'éditeur de page. J'ai trouvé ça:
<option value="templates-map/component-tutorial-1.php"
selected="selected">Tutorial -1</option>
J'ai utilisé templates-map/component-tutorial-1.php
et cela a fonctionné.