我在用着 获取帖子 插件以列出帖子类型“项目”。我想通过两个自定义字段过滤列表:年度(Ex。2006)和状态(ex。Pountation)。我添加了 meta_query 到插件的 get_post args并尝试了快捷代码:

[get_posts post_type="project" meta_query="array(array('key' => 'state', 'value' => 
'Completed'),array('key' => 'year','value' => '2006'))" suppress_filters="false"]

尽管我可以自己使用“状态”和“年”,但这是行不通的 meta_keymeta_value.

有人可以把我朝着正确的方向吗?

有帮助吗?

解决方案

除了未更新的插件外,这将不起作用,因为将meta_query arg被评估为字符串:

array(3) {
  ["post_type"] => string(7) "project"
  ["meta_query"] => string(96) "array(array('key' => 'state', 'value' => 
'Completed'),array('key' => 'year','value' => '2006'))"
  ["suppress_filters"] => string(5) "false"
}

我建议你做一个 自定义页面模板, ,您将在其中直接使用所需的meta_query调用get_posts()。

您将必须复制处理帖子实际列表的代码。

其他提示

我认为该插件没有更新以支持新查询ARGS,或者在这种情况下特别是 meta_query arg。

插件页面列出了兼容性 3.0.5, ,如果我没记错的话, meta_query 被引入 3.1, ,所以自然而然地,我得出的结论尚无可用。

我可能错了,只是连接点..

插件使用 shortcode_atts 限制公认参数的列表:

http://plugins.trac.wordpress.org/browser/nurelm-get-posts/tags/0.3/get-posts.php#l29

meta_query 不在该列表中。我建议拨打插件或要求作者更新它以允许元查询。

许可以下: CC-BY-SA归因
scroll top