Intereting Posts
Программно установить и активировать дочернюю тему Как перенаправить действие = зарегистрировать ссылку на странице с потерянным паролем на другую ссылку? add_rewrite_rule в дочерней теме, чтобы запретить доступ к файлам PDF Как я могу использовать один и тот же файл шаблона с виджетами и циклами категорий? single-{post_type} .php не загружается, несмотря на правила промывки Плагин для ограничения доступа пользователей, не являющихся администраторами, к существующим тегам wp_query для первого липкого, затем отобразите остальную часть сообщений, исключая первую липкую Обработка сложной многоуровневой архитектуры / меню для крупного сайта Пользовательский запрос с использованием WP_Query не работает Как установить равный размер изображения для обратного изображения, используемого для Featured Image (динамически) Получение ошибки в sql-запросе Внешний API для WP Устранение неполадок правильного родительского меню с классами wp_nav_menu при просмотре «отдельных сообщений» Расширение терминов Массовый URL-адрес добавления (добавить слово в slug)

Отключить API комментариев WordPress

Мы используем плагин disqus на нашем сайте wordpress, поэтому у любого комментирования должен быть логин через disqus. Тем не менее, я все еще вижу спамеров, пытающихся опубликовать через обычный API комментариев. Они не добираются до поста, но они забивают мой почтовый ящик как администратор.

Как отключить этот API – я хочу только принимать комментарии, которые поступают от зарегистрированного пользователя Disqus?

Существует гораздо более простой способ закрыть стандартные комментарии WordPress. Просто добавь

add_filter( 'comments_open', '__return_false' ); 

в файл functions.php и комментарии будут закрыты.

Вы можете попытаться остановить его в pre_comment_on_post hook

 add_action('pre_comment_on_post', 'no_wp_comments'); function no_wp_comments() { wp_die('No comments'); } 

Я использую это, когда использую комментарии Facebook вместо комментариев WordPress.

Вот аналогичный пример с анонимной функцией:

 add_action('pre_comment_on_post', create_function( '','wp_die("No comments");')); 

но я предпочитаю первый пример, его легче модифицировать.

Этот крючок находится в файле wp-comments-post.php как:

 do_action('pre_comment_on_post', $comment_post_ID);