php 使用Wordpress进行ACF自定义分类筛选

hlswsv35  于 2023-02-07  发布在  PHP
关注(0)|答案(1)|浏览(242)

我已经试着解决这个问题三天了,甚至使用了这个网站上的解决方案。我仍然不能让这个工作。
我有一个循环,它按照自定义分类法显示帖子,现在分类法被称为"charging_categories",因此显示了类型案例研究中的所有帖子。
但是我需要根据循环中的分类术语将它们作为单独的列表进行排序。我尝试了所有的组合方式,但是仍然不能得到这个。
当前结果:主题1问题1问题2问题3主题2问题1问题2问题3
预期结果:主题1问题1问题3主题2问题2
我的代码到目前为止:

<?php
$section = get_query_var('section');
$sectionKey = get_query_var('section_key');
$categories = get_terms('charging_categories');
?>

<div id="section_<?php echo $sectionKey; ?>" class="section">
    <div class="d-md-block col-12 col-md-12 charging-station-faq">
        <div id="main">
            <div class="container">
                <div class="col-md-10 text-center">
                    <h2 class="white"><?php echo $fields['ch_faq_title']; ?></h2>
                    <p class="text-center"><?php echo $fields['ch_faq_sub_title']; ?></p>
                </div>
                <?php
                foreach ($categories as $i => $category) { ?>
                    <div class="buttons-row nav nav-tabs justify-content-center" id="myTab" role="tablist">
                        <a class="form_change_button nav-link" data-toggle="tab" href="#<?php echo $category->name; ?>" role="tab" aria-controls="<?php echo $category->name; ?>" aria-selected="true"><?php echo $category->name; ?></a>
                    </div>
                    <?php
                    $args =
                        array(
                            'post_type' => 'charging_faq',
                            'tax_query' => array(
                                'taxonomy' => 'charging_categories',
                                'field' => 'slug',
                                'terms' => $category->slug
                            ),
                        );
                    $posts = null;
                    $posts = new WP_Query($args);
                    ?>
                    <?php
                    if ($posts->have_posts()) {
                        while ($posts->have_posts()) : $posts->the_post();
                    ?>
                            <div class="accordion" id="faq">
                                <div class="card" style="background-color: transparent;">
                                    <div class="card-header" id="faqhead1">
                                        <button href="#question-<?php echo $posts->ID;?>" class="btn btn-link" data-toggle="collapse" data-target="#question-<?php echo $posts->ID;?>"  role="button" aria-expanded="true" aria-controls="question-<?php echo $posts->ID;?>"><?php the_title(); ?></button>
                                    </div>

                                    <div id="question-<?php echo $posts->ID;?>" class="collapse" aria-labelledby="faqhead1" data-parent="#faq">
                                        <div class="card-body">
                                            <?php the_content(); ?>
                                        </div>
                                    </div>
                                </div>
                            </div>

                    <?php
                        endwhile;
                        wp_reset_query();
                    }
                    ?>
                <?php

                }
                ?>

            </div>
        </div>
    </div>
</div>
7gs2gvoe

7gs2gvoe1#

我发现了这个问题,不得不将“tax_query”嵌套在另一个数组中,如下所示:

$args =
                    array(
                        'post_type' => 'charging_faq',
                        'tax_query' => array(
                            array(
                                'taxonomy' => 'charging_categories',
                                'field' => 'slug',
                                'terms' => $category->name
                            )
                        ),
                    );

相关问题