simplemente recorrer las entradas

22 dic 2011, 22:13:25
Vistas: 64.7K
Votos: 9

Sé que esta es una pregunta muy básica, pero no logro hacer que el bucle obtenga las entradas. Todo lo que hace es obtener el contenido de la página misma.

Creé una plantilla y le agregué el bucle.

<?php
if( have_posts() ) {
  while( have_posts() ) {
    the_post();
    ?>
    <h2><?php the_title(); ?></h2>
    <?php
  }
}
?>

edición: aquí está todo el código: http://pastebin.com/k2rDu53b

6
Comentarios

Si tu código se está ejecutando dentro del bucle, no obtendrás los resultados esperados. ¿Dónde se está ejecutando este fragmento?

brandwaffle brandwaffle
22 dic 2011 22:16:46

justo después del body, pensé que ese era el bucle, el have_posts...? Estoy un poco confundido. Aquí está todo el código:http://pastebin.com/k2rDu53b

user766607 user766607
22 dic 2011 22:18:24

Me refería a si ya estabas dentro del bucle, y luego tenías ese código ahí dentro... pero no es lo que está pasando de todos modos. ¿Qué salida estás viendo en la página?

brandwaffle brandwaffle
22 dic 2011 23:43:29

Acabo de probar esto en mi instalación local de WP y me muestra los títulos de las publicaciones como esperaba. ¿Está esto en tu carpeta de tema y se está ejecutando como el tema activo, o se está cargando de otra manera? Si es un tema, ¿tienes una hoja style.css con al menos la información básica definida allí? http://codex.wordpress.org/Theme_Development#Template_Files_List

brandwaffle brandwaffle
22 dic 2011 23:57:28

¿Por qué todo el código del encabezado en la plantilla? Simplemente llama a get_header() en su lugar, si necesita ser diferente del archivo de encabezado principal, crea otro, por ejemplo, header-two.php con el código y llámalo en la plantilla, por ejemplo, get_header( 'two' )

t31os t31os
23 dic 2011 14:25:48

¡Oh! No sabía que se podían tener dos encabezados. Eso es genial. Gracias por el consejo.

user766607 user766607
27 dic 2011 16:35:57
Mostrar los 1 comentarios restantes
Todas las respuestas a la pregunta 1
1
23

Como estás en una página, solo se mostrará la consulta para esa página. Por lo tanto, tendrías que crear una nueva consulta para incluir las publicaciones que deseas. Reemplaza tu bucle con esto:

<?php
    $args = array(
        'post_type' => 'post'
    );

    $post_query = new WP_Query($args);

    if($post_query->have_posts() ) {
        while($post_query->have_posts() ) {
            $post_query->the_post();
            ?>
            <h2><?php the_title(); ?></h2>
            <?php
            }
        }
?>

Aquí hay más información sobre la consulta: http://codex.wordpress.org/Class_Reference/WP_Query

23 dic 2011 00:25:38
Comentarios

Al final, debes restablecer la consulta con wp_reset_postdata(); https://codex.wordpress.org/Function_Reference/wp_reset_query

jjj jjj
18 mar 2017 18:00:17