正如Mike所说,我首先想到的是您的实际meta\\u值是什么。无论它是存储为字符串还是布尔值。。。因为那肯定会把事情搞砸的。
其次,我建议使用高级自定义字段,而不是使用WordPress的普通字段。这让用户更难搞糟,因为在这种情况下,可以通过下拉菜单或单选按钮来处理;甚至是一个复选框(我更喜欢你的情况)。
勾选框将返回一个布尔值,因此您可以执行meta\\u查询以查找yes,然后执行查询以查找not yes(即no或空)。
最后,一点个人喜好。。。以数组形式传入WP\\u查询参数;使其更易于阅读。
$YesArgs = array(
\'s\' => get_search_query(),
\'meta_query\' => array(
array(
\'key\' => \'custom_field\',
\'value\' => \'yes\'
)
)
);
$postsTrue = new WP_Query($YesArgs);
$NoArgs = array(
\'s\' => get_search_query(),
\'meta_query\' => array(
array(
\'key\' => \'custom_field\',
\'value\' => \'yes\',
\'compare\' => \'!=\'
)
)
);
$postsFalse = new WP_Query($NoArgs);