转发器字段中的产品类别

Posted

技术标签:

【中文标题】转发器字段中的产品类别【英文标题】:Product category in repeater fields 【发布时间】:2019-07-17 16:10:03 【问题描述】:

我试图在 ACF 转发器字段中显示特定的产品类别。 这会不断输出所有产品类别。

如何为每个转发器字段输出单个类别?

<?php if( have_rows('product_categories') ): ?>

<ul class="products">

    <?php while( have_rows('product_categories') ): the_row(); ?>

        <?php
        $product_category_ids = get_sub_field('project_category');
        $args = array(
            'post_type' => 'product',
            'posts_per_page' => -1,
            'tax_query' => array(
                'taxonomy' => 'product_cat',
                'terms' => $product_category_ids
            ),
        );

        $loop = new WP_Query( $args );
        if ( $loop->have_posts() ) 
            while ( $loop->have_posts() ) : $loop->the_post();
                wc_get_template_part( 'content', 'product' ); ?>

                <?php
            endwhile;
         else 
            echo __( 'No products found' );
        
        wp_reset_postdata();
        ?>

    <?php endwhile; ?>

</ul>

【问题讨论】:

您应该在“tax_query”中添加“field”参数 谢谢,还是漏掉了几个参数....大大的叹息 【参考方案1】:

这对我有用:

<?php if( have_rows('product_categories') ): ?>

<ul class="products">

    <?php while( have_rows('product_categories') ): the_row(); ?>

        <?php
        $product_cats = get_sub_field('product_category');
        $args = array(
            'post_type'             => 'product',
            'post_status'           => 'publish',
            'posts_per_page'        => '12',
            'tax_query'             => array(
                array(
                    'taxonomy'      => 'product_cat',
                    'field' => 'term_id',
                    'terms'         => $product_cats,
                    'operator'      => 'IN',
                    'field'         => 'slug'
                ),
            )
        );
        $loop = new WP_Query($args);
        while ( $loop->have_posts() ) : $loop->the_post(); global $product; ?>

            <?php wc_get_template_part( 'content', 'product' ); ?>

        <?php endwhile; ?>

        <?php wp_reset_query(); ?>

    <?php endwhile; ?>

</ul>

【讨论】:

以上是关于转发器字段中的产品类别的主要内容,如果未能解决你的问题,请参考以下文章

获取存储在 DB 中的转发器子字段的所有值

基于 ACF 转发器子字段自定义分类法查询帖子

WordPress 中的高级自定义字段 - 无法在组内使用转发器

创建触发器以重新排序列并修改语句级别

ACF 更新字段到嵌套转发器字段

SQLserver中的触发器,实现一个表的某字段修改后,另一张表的对应字段也修改