2011-03-28 13 views
12

Sé que esto es realmente simple, pero por alguna razón no me viene a la mente y Google no me está ayudando hoy.¿Cómo visualizo un contenido de página de WordPress?

Quiero mostrar el contenido de las páginas, ¿cómo puedo hacer eso?

pensé que era esto:

<?php echo the_content(); ?> 
+1

La mayoría de las funciones de wordpress solo funcionan correctamente si está dentro de "The Loop", http://codex.wordpress.org/The_Loop, especialmente si está tratando de mostrar el contenido –

+1

Además, no necesita el " eco". the_content() se hace eco implícitamente. – windyjonas

Respuesta

44

@Marc B Gracias por el comentario. Me ayudó a descubrir esto:

<?php if (have_posts()) : while (have_posts()) : the_post(); 
the_content(); 
endwhile; else: ?> 
<p>Sorry, no posts matched your criteria.</p> 
<?php endif; ?> 
+1

Intenté esto pero muestra el contenido de todas las publicaciones pero no la página actual. – Sydney

+1

Esto funciona. Sin embargo, ¿por qué la comunidad PHP adora usar cantidades innecesarias de etiquetas php? Es realmente confuso de leer y no es necesario. He publicado una revisión de esta respuesta con una sintaxis más clara si alguien está interesado. No ser un enemigo, ya que voy a votar esta como la respuesta. –

+0

post muy útil – Student22

11

Esto es más concisa:

<?php echo get_post_field('post_content', $post->ID); ?> 

y esto aún más:

<?= get_post_field('post_content', $post->ID) ?> 
+3

Gracias, esto fue más difícil de encontrar de lo esperado. – socca1157

4

Sólo hay que poner este código en tu div contenido

<?php 
// TO SHOW THE PAGE CONTENTS 
    while (have_posts()) : the_post(); ?> <!--Because the_content() works only inside a WP Loop --> 
     <div class="entry-content-page"> 
      <?php the_content(); ?> <!-- Page Content --> 
     </div><!-- .entry-content-page --> 

    <?php 
endwhile; //resetting the page loop 
wp_reset_query(); //resetting the page query 
?> 
3

Contenido de la página se pueden visualizar fácilmente y perfectamente esta manera:

<?php if(have_posts()) : ?> 
    <?php while(have_posts()) : the_post(); ?> 
     <h2><?php the_title(); ?></h2>       
     <?php the_content(); ?>   
     <?php comments_template('', true); ?> 
    <?php endwhile; ?>     
     <?php else : ?>      
     <h3><?php _e('404 Error&#58; Not Found'); ?></h3> 
<?php endif; ?>   

Nota:

En cuanto a la visualización de contenido - i) comments_template() es un uso opcional si es necesario para habilitar los comentarios con diferentes funcionalidades. función

ii) _e() también es opcional, pero más significativa & eficaz que simplemente muestra el texto a través de <p>. mientras que 404.php estilizado preferido se puede crear para ser redirigido.

5

Para las personas que no les gusta código de aspecto horrible con las etiquetas php arruinado por todas partes ...

<?php 
if (have_posts()): 
    while (have_posts()) : the_post(); 
    the_content(); 
    endwhile; 
else: 
    echo '<p>Sorry, no posts matched your criteria.</p>'; 
endif; 
?> 
4

@Sydney trate de poner wp_reset_query() antes de llamar el bucle. Esto mostrará el contenido de su página.

<?php 
    wp_reset_query(); // necessary to reset query 
    while (have_posts()) : the_post(); 
     the_content(); 
    endwhile; // End of the loop. 
?> 

EDITAR: Prueba esto si tienes algunos otros bucles que corriste anteriormente. Place wp_reset_query(); donde lo encuentres más adecuado, pero antes de llamar a este ciclo.

Cuestiones relacionadas