你真的应该读一下documentation on meta_query
\'s
以下是meta_query
键(字符串)-自定义字段键。
值(字符串|数组)-自定义字段值。仅当比较为\'IN\'
, \'NOT IN\'
, \'BETWEEN\'
, 或\'NOT BETWEEN\'
. 使用时不必指定值\'EXISTS\'
或\'NOT EXISTS\'
WordPress 3.9及以上版本中的比较。
(注意:由于bug#23268,需要值NOT EXISTS
3.9之前的比较工作正常。必须为value参数提供一些字符串。空字符串或NULL
不起作用。但是,任何其他字符串都可以做到这一点,并且在使用时不会显示在SQL中NOT EXISTS
. 需要灵感吗?“bug#23268”怎么样
比较(字符串)-要测试的运算符。可能的值为\'=\'
, \'!=\'
, \'>\'
, \'>=\'
, \'<\'
, \'<=\'
, \'LIKE\'
, \'NOT LIKE\'
, \'IN\'
, \'NOT IN\'
, \'BETWEEN\'
, \'NOT BETWEEN\'
, \'EXISTS\'
和\'NOT EXISTS\'
. 默认值为\'=\'
.
类型(字符串)-自定义字段类型。可能的值为\'NUMERIC\'
, \'BINARY\'
, \'CHAR\'
, \'DATE\'
, \'DATETIME\'
, \'DECIMAL\'
, \'SIGNED\'
, \'TIME\'
, \'UNSIGNED\'
. 默认值为\'CHAR\'
.
您的订购需要在meta_query
. 您可以尝试以下方法
$args = [
\'post_type\' => [\'page\', \'news-articles\', \'about-articles\', \'involved-articles\'],
\'posts_per_page\' => 4,
\'meta_key\' => \'home_order\',
\'orderby\' => \'meta_value_num\',
\'meta_query\' => [
[
\'key\' => \'home_page\',
\'value\' => \'yes\',
]
],
];
其他注意事项:
从PHP 5.4开始,您可以使用短数组语法,即[]
而不是array()
. 如果您仍在运行PHP 5.6之前的任何版本,您应该认真考虑升级。
showposts
放弃支持posts_per_page
, 所以宁可使用posts_per_page