get_the_content()
必须在循环中使用,并且需要设置帖子的数据。
您应该使用setup_postdata( $post );
首先,然后您可以使用get_the_content()
.
然而,我在这里看到了几个问题:
首先,您可以使用循环,而不是foreach决不能使用短PHP标记。我很惊讶你的代码一开始是如何运行的为了便于阅读,最好将查询参数存储到数组中,并将其传递给WP_Query();
.使用the_content()
而不是get_the_content()
, 确保也应用了过滤器以下是代码的优化版本:
<?php
$args = array(
\'post_type\' => \'testimonials\',
\'posts_per_page\' => 100
);
$q = new WP_Query( $args );
if ( $q->have_posts() ) {
while ( $q->have_posts() ) {
$q->the_post();
$company_name = get_post_meta( get_the_ID(), \'_testimonial_company_name\', true );
?>
<div class="content"><?php the_content(); ?></div>
<div class="author">- <?php the_title(); ?> / <span class="company_name"><?php echo $company_name; ?></span></div>
<div class="link"><a href="<?php echo home_url( \'/testimonials\' ); ?>" title="View All Testimonials">View More</a></div><?php
}
}
?>