为什么the_content在wordpress single.php中不起作用

时间:2013-03-07 14:31:29

标签: wordpress wordpress-theming

我的代码:

<?php if (have_posts()) : ?>
    <?php while (have_posts()) : the_post(); ?> 
        <div class="posts" id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
            <h2> 
              <?php the_title(); ?>
            </h2>
            <div class="entry">
                <?php the_content();?>
            </div>                  
        </div><!--post end-->
    <?php endwhile; ?>
<?php else : ?>
    <h3>no content</h3>
<?php endif; ?>

我将代码放入我自定义的wordpress主题文件single.php中。为什么它不能输出帖子内容,它可以输出帖子标题。谢谢。

3 个答案:

答案 0 :(得分:8)

您可以尝试以下操作来查看它是否有效而不是the_content

<?php echo wpautop($post->post_content); ?> // content with p tags
<?php echo $post->post_content; ?> //without p tags

也是一个选项

<?php echo wpautop( get_the_content() ); ?> // content with p tags

看看它是否适合你。

答案 1 :(得分:1)

在开发Wordpress主题时,建议您将调试模式(在wp-config.php的安装基础上找到)切换为true。如果您有任何错误,这将提醒您。

在您的情况下,请试用<?php the_excerpt(); ?>。 此外,这可能听起来有点愚蠢,但你真的有帖子吗?该帖子中不是网页还是内容?

答案 2 :(得分:0)

很多时候,我遇到过开发人员或首次主题开发人员无法在自定义模板页面上显示the_content()的查询。 问题是the_content()函数在WP循环中运行,例如

if (have_posts()) {
while (have_posts()) {
the_post();
the_content();
}
} ?>

这样可行,但在某些情况下你想在循环外调用函数 - 解决方法是:

echo $post->post_content;