由于某种原因,在创建新的WP查询对象后在if语句中使用while循环后,我的仪表板消失了。
<?php
$args = array(
'post_type' => 'info'
);
$query = new WP_Query( $args );
?>
<?php if( $query->have_posts() ) : while ( $query->have_posts() ) : $query->the_post(); ?>
<section class="info">
<p class="quote"><?php the_field('quote'); ?></p>
<div class="text">
<h2><?php the_title(); ?></h2>
<p><?php the_content(); ?></p>
</div>
</section>
<?php endwhile; endif; wp_reset(); ?>
删除if语句和while循环会导致仪表板再次出现。这似乎是正确的格式,我找不到另一个人有同样问题的情况。
答案 0 :(得分:1)
如果您将最后一位wp_reset();
更正为wp_reset_postdata();
怎么样?
答案 1 :(得分:0)
尝试使用get_posts()
功能代替new WP_Query( );
。
类似的东西:
<?php
$args = array(
'post_type' => 'info'
);
$myposts = get_posts($args);
foreach ($myposts as $post) :
setup_postdata($post);
?>
<section class="info">
<p class="quote"><?php the_field('quote'); ?></p>
<div class="text">
<h2><?php the_title(); ?></h2>
<p><?php the_content(); ?></p>
</div>
</section>
<?php endforeach;
wp_reset_postdata();
?>
希望它对你有所帮助。