我需要查询帮助!
我想建立一个meta_query
(用于get_comments
) 对于尚未设置的关键点。
我有一些代码,允许版主向个人评论添加自定义元键。单击复选框,元键设置为shadow
, 松开它,元键设置为空字符串。
这意味着注释有三种可能的状态。它可以具有“shadow”元键,也可以具有空字符串和元键,或者无法设置元键。
我想做的是查询所有未设置此元键或元键不为shadow的注释。选择元键不相等的所有注释相当容易shadow
但我还没有找到一个也可以选择没有设置元键的注释的方法。
这是我正在使用的代码,但它不起作用。它选择设置了元键的每个注释,而不管它设置为什么。
$comments = get_comments( array(
\'meta_query\' => array(
\'relation\' => \'OR\',
array( // Select comments that don\'t have the \'shadow\' p3_comment_status meta
\'key\' => \'p3_comment_status\',
\'value\' => \'shadow\',
\'compare\' => \'!=\'
),
array( // Select comments that don\'t have the p3_comment_status set
\'key\' => \'p3_comment_status\',
\'compare\' => \'NOT EXISTS\'
)
)
)
);
任何帮助都将受到感谢。
谢谢
UPDATE: 请记住,这是最终对我起作用的代码:
$comments = get_comments( array(
\'order\' => \'ASC\',
\'post_id\' => get_the_ID(),
\'meta_query\' => array(
\'relation\' => \'OR\',
array( // Select comments that don\'t have the \'shadow\' p3_comment_status meta
\'key\' => \'p3_comment_status\',
\'value\' => \'shadow\',
\'compare\' => \'!=\'
),
array( // Select comments that don\'t have the p3_comment_status set
\'key\' => \'p3_comment_status\',
\'compare\' => \'NOT EXISTS\',
\'value\' => \'\'
)
)
) );
关键是
\'post_id\' => get_the_ID()
最合适的回答,由SO网友:ScruffyDan 整理而成
请记住,这是最终对我起作用的代码:
$comments = get_comments( array(
\'order\' => \'ASC\',
\'post_id\' => get_the_ID(),
\'meta_query\' => array(
\'relation\' => \'OR\',
array( // Select comments that don\'t have the \'shadow\' p3_comment_status meta
\'key\' => \'p3_comment_status\',
\'value\' => \'shadow\',
\'compare\' => \'!=\'
),
array( // Select comments that don\'t have the p3_comment_status set
\'key\' => \'p3_comment_status\',
\'compare\' => \'NOT EXISTS\',
\'value\' => \'\'
)
)
) );
关键是
\'post_id\' => get_the_ID()