Consulta de plantilla de página con WP_Query
Me gustaría consultar solo páginas con una determinada plantilla de página usando WP_Query
o una función que devuelva el objeto post, pero no puedo encontrar ninguna información sobre esto en el codex oficial.

ACTUALIZACIÓN: Esta es una respuesta de hace una década, pensada para una versión muy antigua de WordPress. Veo los comentarios que me informan que esto podría no funcionar en versiones más recientes de WP, por favor consulta las otras respuestas más abajo si la mía no funciona para tu versión de WP. Para WP 2.*, esto funcionará.
Prueba esto... Asumiendo que el nombre de la plantilla es 'my_template.php',
$query = new WP_Query(
array(
'post_type' => 'page',
'meta_key' => '_wp_page_template',
'meta_value' => 'my_template.php'
)
);
//Aquí continúa el loop...
También puedes usar get_posts, o modificar query_posts para hacer el trabajo. Ambas funciones usan los mismos parámetros que WP_Query.

Esto no está actualizado. Consulta la respuesta de Guille Holmann / BenJam más abajo.

¡¡GRACIAS!! Revisé esta página demasiado rápido, usé la respuesta aceptada. Esto lo soluciona. Para cualquiera más, tenga en cuenta el array dentro del array dentro del array...

La única diferencia aquí es el post_type
. Por lo demás, no necesitas el array meta_query
para un solo par clave/valor personalizado.

Por supuesto que la consulta meta es necesaria. Excepto que podría ser "en línea" con meta_key
y meta_value
o con un array simple, que podría incluir múltiples condiciones.

Si tienes la plantilla dentro de otra carpeta:
$args = array(
'post_type' => 'page', // ¿es una Página verdad?
'post_status' => 'publish',
'meta_query' => array(
array(
'key' => '_wp_page_template',
'value' => 'page-templates/template-name.php', // carpeta + nombre de plantilla como está almacenado en la base de datos
)
)
);

La plantilla de página se almacena como un valor meta con la clave "_wp_page_template".
Por lo tanto, todo lo que necesitas es usar esa clave en un parámetro de consulta meta. Por ejemplo:
y http://codex.wordpress.org/Class_Reference/WP_Query#Custom_Field_Parameters

Si el intento de alguien resulta incorrectamente en cero publicaciones, probablemente el nombre de la plantilla sea incorrecto. Probé con el nombre del archivo php y con el nombre de mi plantilla y no funcionaron. Entonces decidí inspeccionar el cuadro de selección de plantillas donde elegimos la plantilla en el editor de páginas. Encontré esto:
<option value="templates-map/component-tutorial-1.php"
selected="selected">Tutorial -1</option>
Usé templates-map/component-tutorial-1.php
y funcionó.
