过去几个小时,我一直围着圈子试图让以下功能发挥作用:
我有自定义帖子类型team
和自定义分类team-tax
。
我想在顶部有一排按钮代表过滤器。这些需要将“数据过滤器”属性设置为“团队税” - 这一点似乎有效。
在这些过滤器下面,我有一个图库,每个项目都应该显示它所属的team-tax
作为类名 - 这是我在努力的地方,因为它不会返回任何内容。
非常感谢您的光临。
以下是我目前的代码:
<div class="clearfix">
<button class="filter" data-filter="all">All</button>
<?php $args=array('orderby' => 'name','taxonomy'=>'team-tax');
$filters=get_categories($args);
foreach($filters as $filter){ ?>
<button class="filter" data-filter="<?php echo $filter->gallery_nicename; ?>"><?php echo $filter->name; ?></button>
<?php } ?>
<?php
$args = array(
'posts_per_page' => -1,
'post_type' => 'team',
'orderby' => 'menu_order',
'order' => 'ASC',
'taxonomy' => 'team-tax'
);
$query = new WP_Query( $args );?>
<button class="sort" data-sort="my-order:asc">Ascending Order</button>
<button class="sort" data-sort="my-order:desc">Descending Order</button>
<?php if (have_posts() ) : while (have_posts() ) : the_post(); ?>
<div class="gallery gallery-border gallery-mixitup">
<div class="gallery-item mix <?php foreach((get_the_category()) as $category) { echo $category->cat_name . ' '; } ?>" data-my-order="1">
<a href="<?php echo get_permalink($post->ID); ?>">
<img src="<?php bloginfo('template_directory'); ?>/dist/images/slider/yachts.jpg">
<div class="overlay"></div>
<div class="gallery-item-text">Lorem Ipsum Dolor</div>
</a>
</div>
</div>
<?php endwhile; else: ?>
<p>There is nothing to see here</p>
<?php endif; ?>
</div>
答案 0 :(得分:0)
我认为您的问题可能与您尝试使用get_the_category()
的方式有关。我的建议是使用wp_get_post_terms()
。
请参阅:https://codex.wordpress.org/Function_Reference/wp_get_post_terms
简而言之,你可以替换这一行:
<div class="gallery-item mix <?php foreach((get_the_category()) as $category) { echo $category->cat_name . ' '; } ?>" data-my-order="1">
有这样的事情:
<div class="gallery-item mix <?php foreach(( wp_get_post_terms(get_the_ID(), 'team-tax') ) as $category) { echo $category->slug . ' '; } ?>" data-my-order="1">