filter wordpress注释与自定义字段在加载之前



大家好,感谢您的帮助:

如何在加载之前根据自定义字段筛选页面下显示的注释?例如,如果自定义字段的值为,则应显示该注释;如果没有该值,则不应显示该评论。

我使用这个示例代码:

$comments20=get_comments(数组('meta_key'=>'keytoopurl','meta_value'=>'y'(;

评论的数量非常高,我希望WordPress在收到评论之前只收到条件很高的评论。我也使用了下面的示例代码,但它不起作用:

add_action('pre_get_comments', function ($queryObj) {
$vars = $queryObj->query_vars;
$vars['meta_key'] = 'keytoopurl';
$vars['meta_value'] = 'y';
$queryObj->query_vars = $vars;
});

谢谢

我已经解决了这个问题。我正在发布内容供他人使用。插件wpdiscuz缓存注释,这就是为什么我们的代码不能工作的原因。此外,在编写过滤器后,有必要激活和停用插件一次。通过添加以下代码行,问题得到了解决。

add_action('pre_get_comments', function ($query)
{
$query->query_vars['meta_query'] = [
[
'key' => 'keyurl',
'value' => "http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]"
]
];
}, 10, 1);

如果你用过这篇文章,请喜欢我的答案

最新更新