我有一个具有自定义主题的项目,该项目针对网站的不同部分有多种自定义评论类型,我们希望管理员能够对其进行审核。
我尝试使用
parse_comment_query
和 comments_pre_query
过滤器,但没有用。
这是我的代码:
add_action('parse_comment_query', function ($query) {
if( is_admin() ) {
$query->query_vars['type__in']=['review', 'comment'];
}
}, PHP_INT_MAX, 1);
add_filter('comments_pre_query', function ($comment_data, $query) {
if( is_admin() ) {
$query->query_vars['type__in']=['review', 'comment'];
}
return $comment_data;
}, PHP_INT_MAX, 2);
目前我只看到评论类型
comment
,但我也在寻找其他类型,例如review
、vote
等
您可以使用以下代码绕过查询:
function include_custom_type_admin( $clauses, $query ) {
if ( is_admin() && isset( $query->query_vars['orderby'] ) ) {
$clauses['where'] .= " OR comment_type = '". $this->type ."'";
}
return $clauses;
}
add_filter( 'comments_clauses', 'include_custom_type_admin', 10, 2 );