我想根据两个分类条件从wordpress数据库中选择记录。
我有以下查询。但它列出了所有记录。我想用分类配方类别和术语90过滤以下查询。我该怎么做?
从中选择DISTINCT p.ID,p.post_author,p.post_date作为dte,wt.term_id
wp_posts p左加入wp_postmeta m1 ON p.ID = m1.post_id左加入
wp_term_relationships wtr ON(p.ID = wtr.object_id)左联接
wp_term_taxonomy wtt ON(wtr.term_taxonomy_id = wtt.term_taxonomy_id)
左JOIN wp_terms wt ON(wt.term_id = wtt.term_id)其中
p.post_type ='recipe'和p.post_status ='publish'AND(wtt.taxonomy =
dte DESC的'recipe-cuisine'和wtt.term_id IN(17))顺序
最佳答案
为什么不使用WP_QUERY获取与分类法(recipe-category
)和recipe-category
id 90
术语相关的帖子
$taxonomy = 'recipe-category';
$taxonomy_terms = 90;
$args = array(
'tax_query' => array(
array(
'taxonomy' => $taxonomy,
'field' => 'id',
'terms' => $taxonomy_terms,
),
),
);
$posts_related_to_taxonomy = new WP_Query($args);
if( $posts_related_to_taxonomy->have_posts() ) :
echo '<p>';
while($posts_related_to_taxonomy->have_posts()) : $posts_related_to_taxonomy->the_post();
?>
<a href="<?php the_permalink(); ?>">
<span><?php the_title(); ?></span> : <?php echo get_the_excerpt(); ?>
</a>
<br>
<?php endwhile;
echo '</p>';
else :
echo wpautop('No Records found');
endif;
如果要在两个分类法之间进行搜索,则将
tax_query
参数替换为以下内容'terms' => array( $term)
此参数可以与术语id或字符串数组一起使用,将taxonomy1
和taxonomy2
替换为其他分类标准段'tax_query' => array(
'relation' => 'AND',
array(
'taxonomy' => 'taxonomy1',
'field' => 'id',
'terms' => array( $term)
),
array(
'taxonomy' => 'taxonomy2',
'field' => 'id',
'terms' => array( $term2),
)),
关于mysql - 如何筛选具有两种分类条件的wordpress选择查询?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40263915/