我正在制作一个插件,我希望在一个帖子页面中的评论根本不打印。我需要自己查询数据库并使用结果打印我自己的html。
如何让WordPress不打印评论而不禁用它们?
谢谢
编辑: 作为一个建议,我正在使用:
apply_filters('comments_template', array($this,'comments_template'), 10, 1);
function comments_template($template){
$template = '';
return $template;
}
没有任何反应,我做错了什么?
答案 0 :(得分:1)
您可以使用comments_template
过滤器让WordPress使用您的插件的模板文件而不是当前主题。
编辑:根据您编辑的代码:遗憾的是,您需要拥有一个实际文件,即$this->comments_template()
中返回的路径...
class MyPlugin{
//add the filter somewhere...
function comments_template($template){
return dirname(__FILE__) . "/my_comments_template.php";
}
}
文件plugin_dir/my_comments_template.php
必须存在,否则WP会回到默认主题comments.php
上。请参阅第911-917行的wp-includes / comment-template.php。
在plugin_dir/my_comments_template.php
中你可以调用`MyPlugin :: do_comments()或类似的东西。我不知道其他任何方式。如果你找到更好的方法,请告诉我。
干杯,克里斯