我在尝试显示WordPress中的内容时遇到了一些问题。 the_title()工作正常,但即使WordPress中有内容,the_content()也始终为空。是的,the_content()在循环中。我仍然无法弄清楚为什么它总是空的。
<?php if( get_the_post_thumbnail() ):?>
<?php $backgroundImg = wp_get_attachment_image_src(
get_post_thumbnail_id($post->ID), 'full'); ?>
<div class="img-container" style="background: linear-gradient(#1abc9c, transparent 80%),url('<?php echo
$backgroundImg[0]; ?>') no-repeat; background-size: cover;">
<div class ="text-wrapper">
<h1 class="single-blog-title"><?php the_title();?></h1>
<h3 class="single-blog-subtitle"><?php the_secondary_title(); ?></h3>
<p></p>
</div>
<div>
</div>
</div>
<?php endif; ?>
<div id="content" class="site-content">
<div class ="single-blog-content">
<?php if( have_posts() ): while( have_posts() ): the_post(); ?>
<p class="blog-author">by <?php the_field('author'); ?></p>
<h2><?php the_title();?></h2>
<div>
<?php the_content();?>
</div>
<?php endwhile; endif; ?>
</div>
</div>
答案 0 :(得分:3)
您需要将内容放在循环
中<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
<?php the_content(); ?>
<?php endwhile; endif; ?>
答案 1 :(得分:1)
我发现$post->post_content
包含了我要求的内容;但是它没有被过滤,因此您需要应用the_content
过滤器来应用HTML格式:
<?php echo apply_filters('the_content', $post->post_content); ?>
答案 2 :(得分:0)
if(have_posts()):while(have_posts()):the_post(); ?&GT;
<div class="publication-info">
<?php printf("<h2>%s</h2>", get_the_title() ); ?>
<div class="publication-meta publication-credit"><?php the_publication_credit(); ?></div>
<div class="publication-meta publication-date"><?php the_publication_date(); ?></div><br />
<div class="publication-blurb" style="font-family:sans-serif;"><?php echo $post->post_content; // the_content() doesn't work. Why not? ?></div>
</div>
答案 3 :(得分:0)
将此代码<?php the_field('author'); ?>
替换为<?php the_author(); ?>
这个函数the_field('author');
是罪魁祸首。
请删除或替换代码。
然后下一个功能应该工作。
感谢
答案 4 :(得分:0)
试试这个“仅添加以下代码”添加到文件顶部
<?php the_post(); ?><?php if( get_the_post_thumbnail() ):?>