好的,这条路有点长,但它会完成工作。
我们可以对和关系使用多个meta\\u值检查
// get posts
$posts = get_posts(array(
\'post_type\' => \'post\',
\'posts_per_page\' => 150,
\'meta_query\' => array(
\'relation\' => \'AND\',
array(
\'key\' => \'usp-custom-1\',
\'value\' => \'question\',
\'compare\' => \'!=\',
),
array(
\'key\' => \'usp-custom-1\',
\'value\' => \'money\',
\'compare\' => \'!=\',
),
array(
\'key\' => \'usp-custom-1\',
\'value\' => \'health\',
\'compare\' => \'!=\',
),
array(
\'key\' => \'usp-custom-1\',
\'value\' => \'relationships\',
\'compare\' => \'!=\',
),
),
\'author\' => $_GET["id"],
\'order\' => \'DESC\'
));
您需要检查此查询的性能影响,因为它可能会占用大量资源。
我早就注意到了$_GET["id"]
, 如果您未经处理就传递了它,我建议清理/验证传递给您的每个值(您自己没有传递的值,如用户输入或url查询)。
根据属性名称,我假设它将是一个id,所以我们可以像这样清理它
\'author\' => filter_input(INPUT_GET, \'id\', FILTER_SANITIZE_NUMBER_INT)