working the_content the read page not more get_the_content content add_filter php wordpress wordpress-theming

php - read - wordpress page the_content



Wordpress: single.php no muestra the_content() (3)

Estoy creando un tema de Wordpress personalizado y parece que no consigo que funcione la plantilla single.php. A continuación se muestra el código que he escrito. El título aparece pero el contenido no. ¿Alguna idea de por qué no lo es?

<?php /** * The Template for displaying all single posts. */ get_header(); ?> <div id="content" role="main"> <div <?php post_class() ?> id="post-<?php the_ID(); ?>"> <h2><a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title_attribute(); ?>"><?php the_title(); ?></a></h2> <small><?php the_time(''F jS, Y'') ?> <!-- by <?php the_author() ?> --></small> <div class="entry"> <?php the_content(); ?> </div> <p class="postmetadata"><?php the_tags(''Tags: '', '', '', ''<br />''); ?> Posted in <?php the_category('', '') ?> | <?php edit_post_link(''Edit'', '''', '' | ''); ?> <?php comments_popup_link(''No Comments »'', ''1 Comment »'', ''% Comments »''); ?></p> </div> </div><!-- #content -->

Vea aquí para una captura de pantalla de la salida:


Estoy escribiendo esto porque tuve un problema similar. Mi contenido no estaba apareciendo. Sin embargo, mi llamada a the_content estaba dentro de The Loop . Además, esto estaba funcionando en mi servidor de desarrollo pero no en el servidor de producción.

Pude resolver esto eliminando todos los complementos y luego, uno por uno, agregarlos nuevamente.

Además, por supuesto, si tiene habilitado el almacenamiento en caché, un buen primer paso es borrar el caché.


Simplemente puse the_post() sobre the_content() y funcionó


the_content() no se muestra porque tiene que estar dentro de The Loop . Echa un vistazo a la documentación aquí »

Necesitas cambiar tu código a esto:

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

Puede omitir el else si siempre está seguro de que tiene contenido para mostrar :) O simplemente eche un vistazo al single.php original donde puede encontrar The Loop siempre rodea the_content()

editar:

Aquí está el single.php completo que podrías usar / comenzar con:

<?php /** * The Template for displaying all single posts. */ get_header(); ?> <div id="content" role="main"> <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?> <div <?php post_class() ?> id="post-<?php the_ID(); ?>"> <h2><a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title_attribute(); ?>"><?php the_title(); ?></a></h2> <small><?php the_time(''F jS, Y'') ?> <!-- by <?php the_author() ?> --></small> <div class="entry"> <?php the_content(); ?> </div> <p class="postmetadata"><?php the_tags(''Tags: '', '', '', ''<br />''); ?> Posted in <?php the_category('', '') ?> | <?php edit_post_link(''Edit'', '''', '' | ''); ?> <?php comments_popup_link(''No Comments »'', ''1 Comment »'', ''% Comments »''); ?></p> </div> <?php endwhile; endif; ?> </div><!-- #content -->