我有一个自定义帖子(称为“ait-dir-items”)和 2 个类别。在类别存档页面上,我需要获取属于 2 个类别的帖子。
从 2 个类别中获取帖子
条件。category1= "food" on "ait-dir-item-category" (food id is 6) and category2= "cate" on "ait-dir-item-category" (food id is 39) and post_type="ait-dir -项目”
我一直在尝试 3 种方法来解决这个问题。他们都没有很好地工作。请告诉我如何解决它。
第一种方式
query_posts("cat=6, 39&showposts=5&post_type=ait-dir-item");
//query_posts( array( post_type=>'ait-dir-item', 'category__and' => array(6,39), 'posts_per_page' => 12, 'orderby' => 'title', 'order' => 'DESC' ) );
while(have_posts()) : the_post();
echo $title = get_the_title();
echo $content = get_the_content();
endwhile;
当我输入“cat=6, 39”或“'category__and' => array(6,39)”时,没有找到结果。
第二种方式
global $post;
$tmp_post = $post;
$args = array(
'posts_per_page' => 5,
'post_type' => 'ait-dir-item',
'category__and' => array(6, 39) // where 1, 2 is cat id
/*'tax_query' => array(
array(
'taxonomy' => 'ait-dir-item-special',
'field' => 'id',
'terms' => 39 // taxonomy id
)
)*/
);
$myposts = get_posts( $args );
foreach( $myposts as $post ) :
$feat_image = wp_get_attachment_url( get_post_thumbnail_id($post->ID) );
$thumb = wp_get_attachment_image_src( get_post_thumbnail_id($post->ID), 'thumbnail_size' );
$url = $thumb['0'];
?>
<li class="display_special_items"><img src="<? echo $url; ?>"/>"><?php the_title(); ?>
<?php endforeach; ?>
<?php $post = $tmp_post; ?>
<li class="clear">
第三种方式:关系和AND
$custom_terms = get_terms('ait-dir-item-special');
$other_custom_terms = get_terms('ait-dir-item-category');
foreach ($custom_terms as $custom_term) {
foreach ($other_custom_terms as $other_custom_term) {
wp_reset_query();
$args = array('post_type' => 'ait-dir-item',
'tax_query' => array(
'relation' => 'AND',
array(
'taxonomy' => 'ait-dir-item-category',
'field' => 'id',
'terms' => 6
),
array(
'taxonomy' => 'ait-dir-item-special',
'field' => 'id',
'terms' => 39
),
),
);
$loop = new WP_Query($args);
if($loop->have_posts()) {
echo '<h1 style="margin-top:10px;">'.$custom_term->name.'</h1>';
while($loop->have_posts()) : $loop->the_post();
echo '<h2>'.get_the_title().'</h2>';
endwhile;
}
}
}
` 我认为我对这些代码没有什么问题。它显示但重复和所有项目帖子。我应该如何解决?
谢谢,