我尝试使用多个自定义字段显示结果,同时按第一个自定义字段(startdate)排序结果。我看到的建议让我尝试了以下方法:
$args = array(
'category_name' => 'Events',
'posts_per_page' => 6,
'meta_key' => 'startdate',
'meta_query' => array(
'relation' => 'OR',
array(
'key' => 'startdate',
'value' => $date,
'compare' => '>='
),
array(
'key' => 'closedate',
'value' => $date,
'compare' => '>='
)
),
'orderby' => 'meta_value',
'order' => 'desc'
);
问题是,如果没有meta_key参数,结果会默认过滤帖子的日期。当我添加meta_key参数对结果进行排序时,我得到的每一篇文章都有一个meta_key等于开始日期。通过添加这些meta_key参数,语句似乎完全忽略了meta_query数组中的条件。我如何让查询排序的开始日期而不拉所有的职位,meta_key等于开始日期?
解决方案:
$args = array(
'category_name' => 'Events',
'posts_per_page' => 6,
'meta_key' => 'startdate',
'meta_compare' => '>=',
'orderby' => 'meta_value',
'meta_value' => $date,
'order' => 'DESC',
'meta_query' => array(
'relation' => 'OR',
array(
'key' => 'startdate',
'value' => $date,
'compare' => '>='
),
array(
'key' => 'closedate',
'value' => $date,
'compare' => '>='
)
)
);
本质上,meta_key参数在MySQL语句中创建一个连接。连接不受参数meta_query部分所述条件的影响。Codex枚举用于筛选联接的参数。我希望我的结果排序的开始日期为所有日期
我有3个元字段:日期(日期格式字符串)、位置和顾问。 设置meta_键时,我可以按日期字段拉入POST和orderby: 然而,我无法用更复杂的meta_query来实现这一点: 基本上,我想拉所有的职位,有一个元开始_日期大于今天的日期和顺序由这些日期。 作为一个旁注-你能在说位置键和仍然按日期键进行元查询搜索吗? 任何帮助都很感激...这是我第一次尝试用meta订购,并且找到了一些好的帖子,但
我有值和像0,1,然后我将使用降序获取数据使用以下查询。 但它只按降序显示。如果我使用另一个查询,如: 它只显示特色结果。我需要所有的广告帖子,按照
我有一些问题与WordPress和WP_Query。我想让帖子按meta_query和/或类别过滤,但我有以下问题:第一种类型的帖子有一个名为“类型”的自定义字段,必须用“练习”来填充,帖子必须在一个名为“级别”的类别中(这将在之前设置)。第二类帖子只有名为“类型”的自定义字段,必须用“测试”来填充。 我不知道如何把这两个条件凑在一起。正因为如此,我试图将它分成两个查询,然后合并它,就像这样: 这
我在wp_query,我需要你的帮助。 我有3个自定义字段,分别称为“议程日”、“议程月”、“议程年”,表示事件的日期、月份和年份。 我想按日、月、年顺序排列查询结果。 下面是我的问题: 这不起作用。。。你能解释一下原因并告诉我怎么修理吗? 非常感谢。 编辑 这是已执行的查询(返回结果,但顺序不正确) 选择SQL_CALC_FOUND_ROWSwp_posts。ID从wp_posts离开加入wp_
我尝试做一个mysql查询,从wp_posts中选择所有的帖子,从中选择post_title和post_content,然后选择表wp_postmeta并显示meta_value,其中meta_key等于“_wp_attached_file”。 我试过这样做: 查询应该显示所有的post以及它是否有一个等于'_wp_attached_file'的meta_key。然后show meta_value
我在WordPress数据库中添加了一篇标题为“titleofpost”的帖子。我尝试在PHP7中使用$wpdb get_results,但出现以下错误: 致命错误:未捕获错误:调用未定义的函数mysql\u error()。 什么是错的?任何帮助都很感激。 我使用下面的代码: