Intereting Posts
WooCommerce изменяет количество столбцов на главной странице Термины таксономии с ссылкой edit / filter в wp-admin, в списке пользовательских сообщений Вызовите get_template_part () пользовательскую постоянную ссылку Настройка вывода тега-облака wordpress Многоуровневый с совершенно разными доменами? Могу ли я использовать AdSense в бесплатном блоге WordPress? query_posts упорядочивает несколько способов Навигация и Постоянная ссылка не получается правильно Пользовательские типы сообщений – текущий заголовок раздела над циклом? Metabox на пользовательской странице – Как включить соответствующие скрипты и стили по умолчанию? Включение пользовательской метассылки с запросом posts_where Как добавить отображение / скрытие в настройках навигации для страниц Как добавить текущий пользовательский таксономии к телу Как вызвать функцию из другого плагина? Запрос get_posts по глубине уровня

PHP – типы пользовательских сообщений типа Loop в вкладках jQuery

У меня есть пользовательский тип сообщения под названием «Продукты»

Внутри продукта есть настраиваемое поле под названием «Sub Category» (selsubcat), которое содержит 14 разных категорий.

Эти категории; CAM / REC / ACC / SWH / NET / MON / HDMI / ENC / SIGNS / PIR / WIFI / POLE / SOUND.

То, что я пытаюсь сделать, отображает все продукты на другой вкладке, где вкладки являются подкатегориями, и каждая вкладка отображает продукты для этой категории. На данный момент я определил meta_value как «CAM», и это отображает все продукты с категорией «CAM» в div #tabs-1 – это правильно.

Теперь мне нужно как-то петлю каждую категорию и отображать продукты на других 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> - <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> - <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> 

Я застрял в этой точке, поэтому любая помощь будет очень признательна!

Вы можете 'meta_key'=> 'selsubcat' запрос только 'meta_key'=> 'selsubcat' без meta_value и вы получите все подкатегории. Затем вы должны зайти за пределы вашей вкладки с некоторым приращением (возможно, именем категории или числовым идентификатором) примерно так:

 <?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>