WP_Query导致Wordpress仪表板消失

时间:2015-02-24 00:57:21

标签: php wordpress-theming wordpress

由于某种原因,在创建新的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循环会导致仪表板再次出现。这似乎是正确的格式,我找不到另一个人有同样问题的情况。

2 个答案:

答案 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();
?>

希望它对你有所帮助。