WordPress插件 - 不要在帖子页面上打印评论

时间:2011-08-04 11:19:37

标签: wordpress

我正在制作一个插件,我希望在一个帖子页面中的评论根本不打印。我需要自己查询数据库并使用结果打印我自己的html。

如何让WordPress不打印评论而不禁用它们?

谢谢

编辑: 作为一个建议,我正在使用:

apply_filters('comments_template', array($this,'comments_template'), 10, 1);
function comments_template($template){
    $template = '';
    return $template;
}

没有任何反应,我做错了什么?

1 个答案:

答案 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()或类似的东西。我不知道其他任何方式。如果你找到更好的方法,请告诉我。

干杯,克里斯