Interogare șablon pagină cu WP_Query
ACTUALIZARE: Acesta este un răspuns vechi de un deceniu, destinat unei versiuni foarte vechi de WordPress. Văd comentariile care mă informează că acest lucru s-ar putea să nu funcționeze pentru versiunile mai noi de WP, vă rugăm să consultați celelalte răspunsuri de mai jos dacă al meu nu funcționează pentru versiunea voastră de WP. Pentru WP 2.*, acesta va funcționa.
Încercați aceasta... Presupunând că numele șablonului este 'my_template.php',
$query = new WP_Query(
array(
'post_type' => 'page',
'meta_key' => '_wp_page_template',
'meta_value' => 'my_template.php'
)
);
//Aici urmează bucla...
De asemenea, puteți folosi get_posts, sau modifica query posts pentru a finaliza sarcina. Ambele funcții folosesc aceiași parametri ca WP_Query.

Acest răspuns nu este actualizat. Consultați răspunsul lui Guille Holmann / BenJam mai jos.

MULȚUMESC!! Am parcurs această pagină prea repede și am folosit răspunsul acceptat. Aceasta funcționează. Pentru oricine altcineva, rețineți matricea din interiorul matricei din interiorul matricei...

Singura diferență aici este post_type
. Altfel, nu ai nevoie de matricea meta_query
pentru o singură pereche cheie/valoare personalizată.

Desigur, interogarea meta este necesară. Cu excepția faptului că ar putea fi "inline" cu meta_key
și meta_value
sau cu o matrice simplă, care ar putea include mai multe condiții.

Dacă șablonul se află într-un alt folder:
$args = array(
'post_type' => 'page', // este o Pagină, corect?
'post_status' => 'publish',
'meta_query' => array(
array(
'key' => '_wp_page_template',
'value' => 'page-templates/nume-sablon.php', // folder + numele șablonului așa cum este stocat în baza de date
)
)
);

Șablonul paginii este stocat ca o valoare meta cu cheia "_wp_page_template".
Deci tot ce trebuie să faci este să folosești acea cheie într-un parametru de interogare meta. De exemplu:
și http://codex.wordpress.org/Class_Reference/WP_Query#Custom_Field_Parameters

Dacă încercarea cuiva are ca rezultat zero postări, probabil numele șablonului este greșit. Am încercat numele fișierului php și numele șablonului meu, dar nu au funcționat. Apoi am decis să inspectez caseta de selecție a șabloanelor unde alegem șablonul în editorul de pagini. Am găsit asta:
<option value="templates-map/component-tutorial-1.php"
selected="selected">Tutorial -1</option>
Am folosit templates-map/component-tutorial-1.php
și a funcționat.
