Как на WordPress-сайте разрешить отвечать на комментарии только автору поста?

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

Как в WordPress разрешить отвечать на комментарии только автору поста?

Следует отметить, что стандартные инструменты “движка” не имеют каких-либо опций, позволяющих тем или иным иным образом повлиять на систему комментирования WordPress. Поэтому для решения задачи будем использовать специальный PHP-код, который необходимо будет добавить в файл functions.php Вашей активной WordPress-темы.

Если Вы не знаете, как редактировать functions.php, то в этом случае Вам поможет плагин ProFunctions.

Итак, в указанный файл нужно добавить следующие строки на языке PHP:

function wpschool_pre_commenting( $pid ) {
    $parent_id = filter_input( INPUT_POST, 'comment_parent', FILTER_SANITIZE_NUMBER_INT );
    $post = get_post( $pid );
    $cuid = get_current_user_id();
 
    if( ! is_null( $post ) && $post->post_author == $cuid && 0 == $parent_id ) {
        wp_die( 'Извините, но только автор может отвечать!' );
    }
}
add_action( 'pre_comment_on_post', 'wpschool_pre_commenting' );

Нажмите, пожалуйста, на одну из кнопок, чтобы узнать понравилась статья или нет.

Если Вам понравилась статья — поделитесь с друзьями
Михаил Петров
Привет! Меня зовут Михаил Петров. Я копирайтер и занимаюсь этим с 2013 года. Скрупулезность и ответственность - моя фишка! Не могу делать как попало и добиваюсь, чтоб заказчик сказал минимум “неплохо”. За все время своей работы пришлось написать и отредактировать немало разной “текстовухи”, включая SEO-тексты, отзывы и прочую чушь. На сегодняшний день специализируюсь на написании информационных статей и руководств технического направления. Вижу смысл и светлое будущее в текстах для людей, а не для машин.
Задать вопрос