Consulta de plantilla de página con WP_Query

8

Me gustaría consultar solo las páginas con una plantilla de página determinada con WP_Query o una función que devolvería el objeto de publicación, pero no puedo encontrar ninguna información al respecto en el códice oficial.

    
pregunta Alexandre Kirszenberg 30.09.2011 - 21:20

4 respuestas

13

Prueba esto ... Suponiendo 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'
    )
);
//Down goes the loop...

También puede usar get_posts , o modificar consultar publicaciones para realizar el trabajo. Ambas funciones utilizan los mismos parámetros que WP_Query .

    
respondido por el Rutwick Gangurde 01.10.2011 - 05:18
20

Incorrecto: a partir de wordpress 3 necesitas algo similar a:

$args = array(
    'post_type'  => 'page', 
    'meta_query' => array( 
        array(
            'key'   => '_wp_page_template', 
            'value' => 'my_template.php'
        )
    )
);
    
respondido por el BenJam 18.05.2012 - 19:12
1

La plantilla de la página se almacena como un valor meta con la clave "_wp_page_template".

Entonces, todo lo que necesita es usar esa clave en un parámetro de metacualificación. Para ejemplos

Ver enlace

y enlace

    
respondido por el anmari 01.10.2011 - 04:07
0

Si el intento de alguien resulta incorrectamente en cero publicaciones, probablemente el nombre de la plantilla sea incorrecto. Probé el nombre del archivo php y el nombre de mi plantilla y no funcionaron. Entonces decidí inspeccionar el cuadro de selección de plantillas donde seleccionamos la plantilla en el editor de páginas. Encontré esto:

<option value="templates-map/component-tutorial-1.php" 
 selected="selected">Tutorial -1</option>

Utilicé templates-map/component-tutorial-1.php y funcionó.

    
respondido por el Ivan Gomes 05.09.2018 - 01:09

Lea otras preguntas en las etiquetas