个性化阅读
专注于IT技术分析

WordPress:single.php不显示the_content()

我正在创建自定义的Wordpress主题, 但似乎无法使single.php模板正常工作。以下是我编写的代码。标题出现了, 但是内容没有出现。任何想法为什么不是呢?

<?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 -->

请参阅此处以获取输出的屏幕截图:

在此处输入图片说明

#1


the_content()未显示, 因为它必须位于The Loop中-在此处查看文档»

你需要将代码更改为此:

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

如果你始终确定要显示的内容, 则可以忽略其他内容:)或仅查看原始single.php, 即可在其中找到The Loop始终围绕the_content()

编辑:

这是你可能想要使用/开始的整个single.php:

<?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 -->

#2


我只是简单地将the_post()放在the_content()之上, 就可以了


#3


我写这篇文章是因为我有一个类似的问题。我的内容没有显示。但是, 我对the_content的调用在The Loop内部。此外, 这在我的开发服务器上有效, 但在生产服务器上无效。

我可以通过删除所有插件来解决此问题, 然后将它们一个接一个地添加回去。

另外, 当然, 如果你启用了缓存, 那么好的第一步就是清除缓存。

赞(0)
未经允许不得转载:srcmini » WordPress:single.php不显示the_content()

评论 抢沙发

评论前必须登录!