是否有可能检索具有某一元数据值的所有帖子?

时间:2016-04-15 作者:nobrandheroes

在4.5下,我有meta_key 同系列meta_value 如19、20等

我试图在模板中循环遍历它们,我想我是一种特殊的密集型。

最近我试过

$args = [
    \'post_type\' => \'series\',
    \'posts_per_page\' => -1,
    \'meta_key\' => \'series\',
    \'meta_query\' => [
        \'key\' => \'series\',
        \'value\' => 19,
        \'compare\' => \'=\',
    ],
];

$posts = new WP_Query( $args );
它似乎返回空对象,或者返回空对象的结果,这取决于我所更改的内容。

也许有什么诀窍可以循环使用吗?

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

我假设你的自定义帖子类型也是“系列”。你能试试这个吗,应该有用。

 $args = [
        \'post_type\' => \'series\',
        \'posts_per_page\' => -1,
        \'meta_query\' => [
            [
            \'key\' => \'series\',
            \'value\' => 19,
            \'compare\' => \'=\',
            \'type\'=>\'NUMERIC\'
            ]
        ],
    ];

    $posts = new WP_Query( $args );
也可以简单使用:

$args = [
            \'post_type\' => \'series\',
            \'posts_per_page\' => -1,
            \'meta_key\'=>\'series\',
            \'meta_value\'=>19,
            \'meta_compare\'=>\'=\',
            \'meta_type\'=>\'NUMERIC\'
        ];

        $posts = new WP_Query( $args );
如果您将这些元值用作数字,则必须提供“meta\\u type”,因为WordPress对“NUMERIC”和“Char”值的处理非常不同。由于您似乎将这些值用作数字,因此需要提供“meta\\u type”