更新到4.1后POST查询不起作用

时间:2015-01-13 作者:Jody Heavener

更新到Wordpress 4.1后,我注意到我的一个更复杂的post查询已经停止工作。它从一个事件帖子类型进行查询,并返回标准时间戳为今天午夜后的帖子,或结束时间戳为今天午夜后的帖子(对于多日事件)。以下是查询:

query_posts(
    array(
        \'post_type\' => \'events\',
        \'showposts\' => -1,
        \'order\' => \'ASC\',
        \'orderby\' => \'meta_value_num\',
        \'meta_key\' => \'_ecmb_datetime\',
        \'meta_value\' => strtotime(\'today midnight\'),
        \'meta_compare\' => \'>=\',
        \'meta_query\' => array(
            \'relation\' => \'OR\',
            array(
                \'key\' => \'_ecmb_datetime_end\',
                \'value\' => strtotime(\'today midnight\'),
                \'compare\' => \'>=\'
            )
        )
    )
);
我根据this answer. 我看了一下this answer 但我没有使用\'meta_key\' => \'meta_value\', 对于回答者说“如果你有一个meta\\u查询参数,就不需要meta\\u键”的部分,我不确定这是否适用于场景,因为我确实想查询这两个键/值。

非常感谢您的帮助!!

1 个回复
SO网友:Jody Heavener

我根据this answer.

我觉得这已经不是解决问题的办法了。。。我重新格式化了查询,如下所示:

query_posts(
    array(
        \'post_type\' => \'events\',
        \'showposts\' => -1,
        \'order\' => \'ASC\',
        \'orderby\' => \'meta_value_num\',
        \'meta_query\' => array(
            \'relation\' => \'OR\',
            array(
                \'key\' => \'_ecmb_datetime\',
                \'value\' => strtotime(\'today midnight\'),
                \'compare\' => \'>=\'
            ),
            array(
                \'key\' => \'_ecmb_datetime_end\',
                \'value\' => strtotime(\'today midnight\'),
                \'compare\' => \'>=\'
            )
        )
    )
);
这似乎解决了问题!如果有任何其他建议,请随时分享:)

结束

相关推荐

WP plugin updates

我为WordPress编写了一个插件,需要定期更新。是否可以通知用户新版本可用(其他一些插件具有某种类型的此选项-当新版本可用时,用户可以在其管理面板中查看并更新-所有内容都使用一些内置的WP功能…)