获取帖子元查询,如果未找到元键则返回最新帖子

时间:2017-05-18 作者:Shwmae

我有一个非常标准的脚本,用于查找预览或报告(自定义帖子类型),其中包含针对它们存储的数据(序列化数组),其形式为guid.

guid显示在我的报告中,而不显示在预览中(这是为了捕获失败)。

但是,当我运行脚本进行预览时get_posts 返回一篇似乎是最新发布的文章。

$args = array(
    "post_type" => array($type),
    "posts_per_page" => 1,
    "post_status" => "publish",
    "orderby" => "date",
    "order" => "DESC",
    "meta_query" => array(
        "key" => "_fixtures",
        "value" => $fixguid, // IN THIS CASE IT SHOULD BE 12AB1324
        "compare" => "="
    )
);  
$posts = get_posts($args);
return $posts;
报告(包含元数据12AB1324) 已成功返回,但预览将返回值为的最新故事12AB3136.

我想我的问题是:

Why does get_posts meta query return
a) the latest post and
b) a post with a guid that doesn\'t = the given key parameter
.

谢谢

1 个回复
最合适的回答,由SO网友:Benoti 整理而成

meta\\u query参数始终需要是array的数组,并且应该这样编写

"meta_query" => array(
     array(
         "key" => "_fixtures",
         "value" => $fixguid, 
         "compare" => "="
     )
事实上,当您想查询多个元时,array的数组用于服务于任何关系,但即使您只查询一个,也需要它。

希望以后可以用!

结束

相关推荐

列出分类法:如果分类法没有POST,就不要列出分类法--取决于定制的POST-META?

这可能很难解释,我不知道是否有解决办法!?我有一个名为“wr\\u event”的自定义帖子类型和一个名为“event\\u type”的分层自定义分类法。自定义帖子类型有一个元框,用于event_date 并且与此帖子类型关联的所有帖子都按以下方式排序event_date. 我在循环中有一个特殊的条件来查询event_date 已经发生了-在这种情况下,它没有显示,但只列在我的档案中。就像你可以使用wp_list_categories() 我编写了一个自定义函数,它以完全相同的方式列出所有分类术语。现在