显示来自wp_Query的特定子类别的帖子

时间:2016-12-08 作者:Jc John

我有一个情态范畴,在我的情态范畴中,我有三个子范畴。这是我的情态范畴的结构。

-Modal
  -Water Pumps
  -Water Heaters
  -Electrical
在这里,我只想从我的模态类别中的水泵子类别中获得一个帖子,并显示在模态中。这是我的代码,其中显示了所有类别名称为modal的,如何将其限制为类别名称modal和水泵的子类别

<div id="myModal38" class="modal fade" tabindex="-1">
<?php $args1 = array(
                    \'post_type\' => \'post\',
                    \'category_name\' => \'modal\',
                    \'posts_per_page\' => \'1\',
                );
    $modalPost = new WP_Query( $args1 );
    if( $modalPost->have_posts() ) : 
?>
    <div class="modal-dialog">
    <?php while ( $modalPost->have_posts() ) : $modalPost->the_post(); ?>
        <div class="modal-content">
            <div class="modal-header">
                <button class="close" type="button" data-dismiss="modal">×</button>
                    <h4 class="modal-title"><?php the_title(); ?></h4>
            </div>
            <div class="modal-body">
                <?php the_post_thumbnail(); ?>
                <?php the_content(); ?>
    <?php endwhile; ?>
            </div>
    <?php endif; ?>
    <?php wp_reset_postdata(); ?>       
            </div><!-- /.modal-content -->
    </div><!-- /.modal-dialog -->
</div><!-- /.modal -->
<!-- Modal -->

2 个回复
最合适的回答,由SO网友:CodeMascot 整理而成

可以通过操纵WP_Query 下面的论点-

$idObj = get_category_by_slug(\'water-pumps-modal\'); 
$args1 = array(
    \'post_type\' => \'post\',
    /*\'category_name\' => \'modal\',*/
    \'category__in\' => array( $idObj->term_id ), // Take only IDs of the categories
    \'posts_per_page\' => \'1\',
);

SO网友:Subrata

\'tax_query\' => array(
                    array(
                        \'taxonomy\' => \'Category\',
                        \'field\'    => \'slug\',
                        \'terms\'    => array(\'Modal\' => \'water-pumps\')   
                        ),
                    ),
        );
在args数组中使用它将允许您显示子类别中特定的内容,在本例中为“模态”类别的“水泵”

这是上述答案的另一种选择。

相关推荐

GET_POSTS查询大约需要40秒来执行

我在get\\u帖子中有一个元查询,它需要花很长时间才能完成。它工作得很好,但只是时间太长了。我有一个名为event. 在每个event 发布后,有自定义元数据:post\\U sort\\U日期(事件日期YmdHis 格式,用于排序)我需要做的是获取下一个事件,该事件相对于$year 和$month 变量。所以如果$year = 2021 和$month = 10 (2021 10月)然后应该在2021 11月或之后找到第一个事件。我下面的查询很好,但很慢。执行大约需要40秒,我不知道为什么。$next