你真的应该读一下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