PHP-循环jQuery选项卡中的自定义POST类型类别

时间:2017-08-13 作者:nsilva

我有一个名为“产品”的自定义帖子类型

在产品中有一个名为“子类别”(selsubcat)的自定义字段,其中包含14个不同的类别。

这些类别包括:;CAM/REC/ACC/SWH/NET/MON/HDMI/ENC/SIGNS/PIR/WIFI/POLE/SOUND。

我试图在不同的选项卡中显示所有产品,其中选项卡是子类别,每个选项卡将显示该类别的产品。目前,我已经定义了meta_value 作为“CAM”,这将显示#tabs-1 div-正确。

我现在需要以某种方式循环每个类别,并在其他13个选项卡中显示产品。

所以#tabs-1 将显示“CAM”类别的所有产品,#tabs-2 将显示“REC”等类别的所有产品。。。

以下是我目前的情况:-

<div id="tabs">
    <ul>
        <?php
        if( have_rows(\'sub_category\', \'option\') ): $cat_increment = 1;
            while ( have_rows(\'sub_category\', \'option\') ) : the_row(); ?>
                <!-- Tab Sub Categories -->
                <li><a href="#tabs-<?php echo $cat_increment; ?>"><?php the_sub_field(\'category_name\'); ?></a></li>
            <?php $cat_increment++; endwhile;
        else : endif;
        ?>
    </ul>

    <?php 

    $posts = get_posts(array(
        \'posts_per_page\'=> -1,
        \'post_type\'     => \'products\',
        \'order\'             => \'ASC\',
        \'meta_key\'      => \'selsubcat\',
        \'meta_value\'    => \'CAM\'
    ));

    if( $posts ): ?>


    <div id="tabs-1">   

        <table id="table-products" class="display" cellspacing="0" width="100%">
            <thead>
                <tr>
                    <th class="hidden">id</th>
                    <th>Image</th>
                    <th>Product Code</th>
                    <th>Description</th>
                    <th>Cost</th>
                    <th>Qty</th>
                    <th>Total Cost</th>
                    <th>Options</th>
                </tr>
            </thead>
            <tfoot>
                <tr>
                    <th class="hidden">id</th>
                    <th>Image</th>
                    <th>Product Code</th>
                    <th>Description</th>
                    <th>Cost</th>
                    <th>Qty</th>
                    <th>Total Cost</th>
                    <th>Options</th>
                </tr>
            </tfoot>                        

                <?php foreach( $posts as $post ): 

                    setup_postdata( $post );

                    ?>

                    <tbody>
                          <tr>
                              <td class="hidden"><?php the_ID(); ?></td>
                              <td><span class="product-image" style="background:url(<?php the_field(\'image\'); ?>);"></span></td>
                              <td><?php the_field(\'code\'); ?></td>
                              <td><?php the_field(\'description\'); ?></td>
                              <td><?php the_field(\'cost_price\'); ?></td>
                              <td><input type="text" /></td>
                              <td><input type="text" /></td>
                              <td><input type="button" class="add-row" name="add-row" value="Add"></td>
                          </tr>
                    </tbody>

                <?php $product_increment++; endforeach; ?>

            </table>    

        </div>


        <?php wp_reset_postdata(); ?>

    <?php endif; ?>

</div>
我被困在这一点上,所以任何帮助都将不胜感激!

1 个回复
SO网友:Kort

您只能通过以下方式启动查询\'meta_key\'=> \'selsubcat\' 没有meta_value `您将获得所有子类别。然后,您应该在选项卡外部循环一些增量(可能是类别名称或数字id),如下所示:

<?php 
foreach( $posts as $post ): setup_postdata( $post ); ?>
    <div id="tabs-<?php the_ID(); ?>">   
        <table id="table-<?php the_ID(); ?>" class="display" cellspacing="0" width="100%">
          <tbody>
                <tr>
                    <td class="hidden"><?php the_ID(); ?></td>
                    <td><span class="product-image" style="background:url(<?php the_field(\'image\'); ?>);"></span></td>
                    <td><?php the_field(\'code\'); ?></td>
                    <td><?php the_field(\'description\'); ?></td>
                    <td><?php the_field(\'cost_price\'); ?></td>
                    <td><input type="text" /></td>
                    <td><input type="text" /></td>
                    <td><input type="button" class="add-row" name="add-row" value="Add"></td>
                </tr>
          </tbody>
            <?php $product_increment++; endforeach; ?>
        </table>    
      </div>
</div>

结束

相关推荐

Duplicates with WP_Query loop

我在头版上只显示带有特色图片的帖子。我的问题是,每次加载下一个页面时,我都会收到相同的结果,也就是得到重复的结果。我正在使用按自定义字段排序。欢迎任何可能导致此问题的指示/想法。下面是我的主循环// Layout if(is_category()) { $post_layout = blt_get_option(\'category_post_layout\', \'normal\'); } elseif(is_author()) {