WP 查询分类帖子
WP Query taxonomy posts
我正在从头开始构建一个 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 );
没有简单的方法来查询附加到特定分类的所有帖子。
执行此操作的唯一方法是获取所有附加到分类法的术语,然后将所有术语 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 );
我正在从头开始构建一个 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 );
没有简单的方法来查询附加到特定分类的所有帖子。
执行此操作的唯一方法是获取所有附加到分类法的术语,然后将所有术语 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 );