我正在尝试创建一个页面,该页面显示自定义帖子类型,并且可以按类别进行过滤。
该代码应该使用“ catalog”类创建一个div,并存储每个新帖子在数据组中选择的所有类别,因此我可以将其用于过滤。
我的问题是,与其创建具有所有类别的一个div,不如创建重复项。如果我为帖子选择2个类别,则会创建2个div,并为3个类别创建3个div,依此类推...
我想我理解为什么它会创建多个div,但是我无法解决问题。
<?php
$categories = get_categories();
foreach($categories as $category):
$args = array(
'post_type' => 'my_post_type',
'category_name' => $category->name,
'orderby' => 'title',
'order' => 'ASC',
);
$the_query = new WP_Query( $args ); ?>
<?php if ( $the_query->have_posts() ) : ?>
<?php while ( $the_query->have_posts() ) : $the_query->the_post();
$title = get_field('title');
$link = get_field('link');
?>
<div class="catalog" data-groups="["all",<?php
foreach((get_the_category()) as $test) {
echo '"' . $test->name . '"';
}
?>]">
<h4><?php echo the_title();?></h4><img src="<?php echo $title; ?>">
<input id="checkbox <?php echo the_title();?>" type="checkbox">
<label for="checkbox <?php echo the_title();?>"></label>
<a href="<?php echo $link; ?>">...</a>
</div>
<?php endwhile; ?>
<?php wp_reset_postdata(); ?>
<?php else : ?>
<p><?php esc_html_e( 'Error.' ); ?></p>
<?php endif; ?><?php endforeach; ?>