I’m making a plugin where I want the comments in a single post page not to be printed at all. I need to query the database myself and print my own html with the results.
How can I make WordPress to not print the comments, without disabling them?
Thank you
EDIT:
as a suggestion, I am using:
apply_filters('comments_template', array($this,'comments_template'), 10, 1);
function comments_template($template){
$template = '';
return $template;
}
nothing happens, what am I doing wrong?
You could use the
comments_template
filter to make WordPress use your plugin’s template file rather than the current theme’s.EDIT: based on your edited code: unfortunately you need to have an actual file, the path to which you return in
$this->comments_template()
…The file
plugin_dir/my_comments_template.php
must exist, otherwise WP falls back on the default theme’scomments.php
. See wp-includes/comment-template.php on lines 911-917.In
plugin_dir/my_comments_template.php
you could call `MyPlugin::do_comments() or something like that. I don’t know any other way around this. Let me know if you find a better way.Cheers, Chris