我正在尝试通过WordPress中的类别获取帖子我的面板中有类别部分,我已将类别添加为英语,但是当我尝试在数组中提供该类别时,添加category
时看不到任何更改添加category_name
时的属性不返回任何内容
$book = array(
'post_type' => 'book',
'paged'=> $paged,
'category' => 'English',
'category_name' => 'English',
'posts_per_page' => '12'
);
答案 0 :(得分:1)
类别参数仅适用于默认的WordPress帖子。 使用自定义帖子类型时,您必须使用tax_query。
new WP_Query( array(
'post_type' => 'book',
'tax_query' => array(
array (
'taxonomy' => 'your_custom_taxonomy_slug_here',
'field' => 'slug',
'terms' => 'english',
)
),
) );
https://codex.wordpress.org/Class_Reference/WP_Query#Taxonomy_Parameters
答案 1 :(得分:0)
尝试使用此代码:
$book = array(
'post_type' => 'book',
'paged' => $paged,
'category_name' => 'english',
'posts_per_page' => 12,
);
$query = new WP_Query( $book );
没有名为' category'的参数。所有类别参数:
因此,如果您使用'类别名称'查询使用类别slug获取具有这些类别的帖子。
有关详细信息,请参阅this link to Wordpress Codex
答案 2 :(得分:0)
试试这个
$custom_terms = get_terms('english');
foreach($custom_terms as $custom_term) {
wp_reset_query();
$args = array('post_type' => 'book',
'tax_query' => array(
array(
'taxonomy' => 'english', //The name of the taxonomy. Name should be in slug form (must not contain capital letters or spaces).
'field' => 'slug',
'terms' => $custom_term->slug,
),
),
);
$loop = new WP_Query($args);
print_r($loop);die;
if($loop->have_posts()) {
echo '<h2>'.$custom_term->name.'</h2>';
while($loop->have_posts()) : $loop->the_post();
echo '<a href="'.get_permalink().'">'.get_the_title().'</a><br>';
endwhile;
}
}
&#13;
请注意分类标准的名称。名称应为slug形式(不得包含大写字母或空格)。