我想根据两个分类法条件从wordpress数据库中选择记录。我有下面的查询。但是它列出了所有的记录。我想用分类法、配方-类别和术语90过滤下面的查询。我怎么做?
选择DISTINCT p.id,p.post_author,p.post_date作为dte,wt.term_id from wp_posts p left JOIN wp_post_meta m1 ON p.id=m1.post_id left JOIN wp_term_relationships wtr ON(p.id=wtr.object_id)left JOIN wp_term_taxonomy wtt ON(wtr.term_taxonomy_id=wtt.term_taxonomy_id)left JOIN wp_term_taxonomy_id)left JOIN
为什么不使用WP_QUERY获取与分类法(Recipe-Category
)和Recipe-Category
id90
术语相关的帖子呢
$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),
)),
问题内容: 我想像这样做一个ElasticSearch查询: 我试图像这样在NEST中实现它: 但这给了我这样的查询,其中的过滤器包装在 布尔值中 : 我应该如何更改我的NEST代码以提供正确的查询?是否必须将我的条款添加到 QueryContainer之外的 其他项目中? 问题答案: 如果要检查条件过滤器,可以在查询之前创建过滤器列表,如下所示: 如果在进行过滤器查询之前不需要检查任何条件,则可
我在Wordpress中有作为CPT的产品,并尝试使用复选框根据分类法筛选帖子。我有两种分类法,品牌和尺寸。它们在索引中是这样输出的。php文件: 在我的functions.php文件中,我有以下内容来构建WP_query并包括分类法: 这是scripts.js中的AJAX/jQuery: 我得到的是一个半工作结果,其中为所有可用品牌和尺寸创建了复选框,并且可以进行过滤。问题是,如果检查了XL码和
问题内容: 我有一个像这样的数组: 现在,我想按某种条件过滤该数组,只保留值等于2的元素,并删除值不等于2的所有元素。 所以我的预期结果数组将是: 注意:我想保留原始数组中的键。 如何使用PHP做到这一点?有内置功能吗? 问题答案:
问题内容: 我正在尝试使用Pandas在几个条件下进行布尔索引。我原来的DataFrame称为。如果执行以下操作,将得到预期的结果: 但是,如果我这样做(我认为应该是等效的),则不会返回任何行: 知道导致差异的原因是什么? 问题答案: 使用是因为运算符优先级: 或者,在单独的行上创建条件: 样品 :
问题内容: 我如何结合这两个更新语句: 问题答案: 您可以使用CASE表达式,如下所示:
问题内容: 系列中的下一个’‘ This query is quite slow when the timestamps are chosen such that many rows are matched: 我相信这是因为我在两个字段(DeviceId和StartedAt)上混合了范围条件。 如果是这样,我该怎么办才能解决问题?也许有什么 触发索引合并的使用? 问题答案: 在=“范围”和“范围”