Плагины WordPress - не печатать комментарии на странице поста - PullRequest
1 голос
/ 04 августа 2011

Я создаю плагин, в котором я хочу, чтобы комментарии на одной странице поста вообще не печатались.Мне нужно сделать запрос к базе данных самостоятельно и напечатать свой собственный html с результатами.

Как я могу сделать так, чтобы WordPress не печатал комментарии, не отключая их?* РЕДАКТИРОВАТЬ: в качестве предложения я использую:

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

ничего не происходит, что я делаю не так?

1 Ответ

1 голос
/ 04 августа 2011

Вы можете использовать фильтр 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.Смотрите wp-includes / comment-template.php в строках 911-917.

В plugin_dir/my_comments_template.php вы можете вызвать `MyPlugin :: do_comments () или что-то в этом роде.Я не знаю другого способа обойти это.Дай мне знать, если найдешь лучший способ.

Ура, Крис

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...