不显示所有类别的所有帖子,仅显示当前循环中类别的帖子

时间:2015-08-02 作者:Zee

我有以下循环,显示父类别(id=3)的所有子类别。第一个循环我想显示父div(目的地旅游)中的每个子类别。第二个循环我想显示子div(des item)中当前子类别中的每个帖子,但结果显示每个父div中的所有帖子。那么错误在哪里?这是我的密码谢谢你的阅读!

    <div id="<?php echo $child_category->term_id; ?>" class="destination-tours">
        <h1 class="tour-title"><?php echo category_description(3); ?></h1>

        <?php
            $des_post = new WP_Query(\'post_type=tour\', array(\'cat=\'.$child_category->term_id));
            while($des_post->have_posts()) : $des_post->the_post();
        ?>

        <div class="des-item">
            <div class="tour-img col-md-3 col-sm-3 col-xs-3">
                <img src="<?php echo wp_get_attachment_url(get_post_thumbnail_id($post->ID)); ?>" />
            </div>
            <div class="tour-des col-md-7 col-sm-7 col-xs-7">
                <h2><?php the_title(); ?></h2>
                <p><?php the_content(); ?></p>
            </div>
            <div class="tour-detail col-md-2 col-sm-2 col-xs-2">
                <h1>FROM
                    <?php
                        echo get_post_meta($post->ID, \'currency\')[0];
                        echo get_post_meta($post->ID, \'price\')[0];
                    ?>
                </h1>
                <p><?php echo get_post_meta($post->ID, \'length\')[0]; ?> day tour</p>
                <a href="<?php the_permalink(); ?>">READ MORE</a>
            </div>
            <div class="clearfix"></div>
        </div>

        <?php endwhile; wp_reset_postdata(); ?>
    </div>
    <?php endforeach; endif;?>

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

您错误地处理了WP_Query 参数。您可以使用查询字符串或基于数组的输入。就我个人而言,我更喜欢数组类型,因此我的示例使用它:

$category_id = (int) $child_category->term_id;
$des_post_args = array(
  \'post_type\' => \'tour\',
  \'cat\'       => $category_id
);
$des_post = new WP_Query( $des_post_args );

结束

相关推荐

如何在loop_end之后将内容插入wp_head

我正在尝试访问帖子上的信息,这样我就可以获得帖子标题和帖子内容,这样我就可以生成相应的OG标签,放在标题中。问题是该信息仅在loop\\u结束后可用。在那个动作发生后,我怎样才能插入头部呢?编辑:下面是正在使用的代码<?php /** * *snip* * standard plugin info * *snip* */ $jobTitle =\"\"; $jobDescription =\"\"; func