我正在从头开始构建一个wordpress主题。我有这个分类:
add_action( 'init', 'create_cat_slider' );
function create_cat_slider() {
register_taxonomy(
'sliderType','post',
array(
'label' => __( 'Slider' ),
'hierarchical' => true,
)
);
}
现在我有以下循环。它应该为滑块创建两个按钮(与分类相关的帖子数应该等于创建的按钮数)。如上所述,我必须发布与分类相关的帖子。问题是,在执行WHILE之后,我将得到7个按钮。在过去的几个小时里,我一直试图找到解决方案。即使前面的手抄本,作为我的第一个主题,我发现这很难。
$args = array(
'tax_query' => array(
'taxonomy' => 'sliderType'
)
);
$custom_query = new WP_Query( $args );
if($custom_query->have_posts()) :
//echo $custom_query->found_posts;
$i = 0;
while ( $custom_query->have_posts() ) : $custom_query->the_post();
if($i == 0)
$active = 'class="active"';
else
$active = '';
echo '<a href="#" data-target="#bigSlider" data-slide-to="' . $i . '" ' . $active . '></a>';
$i++;
endwhile;
endif;
wp_reset_postdata();
LE:当前版本的代码: 分类
add_action( 'init', 'create_cat_slider' );
function create_cat_slider() {
register_taxonomy(
'slider_ype','post',
array(
'label' => __( 'Slider' ),
'hierarchical' => true,
'rewrite' => array( 'slug' => 'slidertype' )
)
);
}
查询
$args = array(
'tax_query' => array
(
array(
'taxonomy' => 'slidertype',
'field' => 'slug',
'terms' => 'slidertype'
)
)
);
$custom_query = new WP_Query( $args );
答案 0 :(得分:1)
没有简单的方法来查询附加到特定分类的所有帖子。
执行此操作的唯一方法是将所有条款附加到分类法,然后将所有条款ID传递到自定义查询中的tax_query
您可以尝试以下操作:(需要PHP 5.4+,这只是重要的部分。另请注意,您拼错了sliderType
; - ))
$term_ids = get_terms( 'sliderType', ['fields' => 'ids'] );
$args = [
'tax_query' => [
[
'taxonomy' => 'sliderType',
'terms' => $term_ids
]
]
];
$custom_query = new WP_Query( $args );
但是,如果您只需要查询分类中特定术语的帖子,则只需将带有相关字段值的术语ID或slug传递给查询
$args = [
'tax_query' => [
[
'taxonomy' => 'sliderType',
'field' => 'slug',
'terms' => 'relevant-term-slug'
]
]
];
$custom_query = new WP_Query( $args );