自定义POST类型上的WP_QUERY未显示,多个循环&GET_TEMPLATE_PART

时间:2014-08-28 作者:Jake Gabb

我在展示我的推荐信时遇到了问题。第页的。php我有一个推荐部分。所以我有一个循环来获取页面的内容。php,然后是get\\u template\\u part(\'content\',\'estimentials\')来获取推荐循环。

<div class="grid_12 omega clearfix">

    <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>

        <h1><?php the_title(); ?></h1>
        <p><?php the_content(); ?></p>
        <hr>

    <?php endwhile; else : ?>

        <p>There were no posts :( </p>

    <?php endif; ?>

</div>

<?php get_template_part( \'content\', \'testimonials\' ); ?>
所以我的主循环在上面,看起来就像上面的^^。在内容推荐中,我的推荐循环如下所示。php:

<?php 

    $args = array(
        \'post_type\' => \'testimonials\',
        \'posts_per_page\' => 1,
        \'orderby\' => \'rand\'
    );

    $the_query = new WP_Query( $args );

?>

<?php if ( have_posts() ) : while ( $the_query->have_posts() ) : $the_query->the_post(); ?>

    <div class="testimonial push_2 grid_10 clearfix">
        <blockquote>&ldquo;<?php the_field( \'testimonial\' ); ?>&rdquo;</blockquote>
        <cite>&mdash;<?php the_field( \'name\' ); ?></cite>
    </div>

<?php endwhile; else : ?>

    <p>There were no testimonials :( </p>

<?php endif; ?>
我对Wordpress还是很陌生,所以我看不出我缺少什么,我已经通过了管理区域,确保有推荐信,编辑了自定义字段以显示帖子类型是否等于推荐信,我只是不明白为什么它不会加载。

期待您的回复,提前谢谢!

1 个回复
最合适的回答,由SO网友:Robert hue 整理而成

我想你忘了检查$the\\u查询是否有帖子。

<?php

    $args = array(
        \'post_type\' => \'testimonials\',
        \'posts_per_page\' => 1,
        \'orderby\' => \'rand\'
    );

    $the_query = new WP_Query( $args );

?>

<?php if ( $the_query->have_posts() ) : while ( $the_query->have_posts() ) : $the_query->the_post(); ?>

    <div class="testimonial push_2 grid_10 clearfix">
        <blockquote>&ldquo;<?php the_field( \'testimonial\' ); ?>&rdquo;</blockquote>
        <cite>&mdash;<?php the_field( \'name\' ); ?></cite>
    </div>

<?php endwhile; else : ?>

    <p>There were no testimonials :( </p>

<?php endif;
wp_reset_postdata(); ?>
如果在一个页面上运行多个查询,也不要忘记重置postdata。

结束

相关推荐

Featured posts and the loop

我正在尝试在索引中添加一个框。php在何处显示最新的3篇特色帖子。根据this tutorial, 我已将以下内容添加到functions.php:add_theme_support( \'featured-content\', array( \'filter\' => \'magdeleine_get_featured_posts\', \'max_posts\' => 3, ) ); function magdeleine