Управление комментариями: добавляем дополнительные быстрые кнопки «удалить, спам»

Без плагина WordSmall

комментарии вордпресс

По умолчанию в WordPress доступна лишь одна кнопка «Изменить» в комментариях для быстрой правки. Остальные действия возможны только в панели управления сайта, что может быть не совсем удобным. Наша задача — исправить это маленькое неудобство путем добавления своих кнопок, а именно: удалить, спам. Это избавит от необходимости каждый раз заходить в администраторскую зону для управления комментарием.

Процедура займет буквально пару минут на то, чтобы скопировать код и вставить в нужный файл. Кажется, такая мелочь, но иногда бывает очень полезной в свое время. Откройте файл functions.php и в конце перед знаком ?> добавьте следующею функцию:

// кнопки удалить, спам в комментариях
function comment_manage_link($id) {

            global $comment, $post;

            $id = $comment->comment_ID;

            if(current_user_can( 'moderate_comments', $post->ID )){

                    if ( null === $link ) $link = __('Редактировать');

                    $link = '<a class="comment-edit-link" href="' . get_edit_comment_link( $comment->comment_ID ) . '" title="' . __( 'Редактировать комментарий' ) . '">' . $link . '</a>';

                    $link = $link . ' | <a href="'.admin_url("comment.php?action=cdc&c=$id").'">Удалить</a> ';

                    $link = $link . ' | <a href="'.admin_url("comment.php?action=cdc&dt=spam&c=$id").'">Спам</a>';

                    $link = $before . $link . $after;

                    return $link;

            }

    }
    add_filter('edit_comment_link', 'comment_manage_link');

Обратите внимание на строку if(current_user_can( 'moderate_comments', $post->ID )), которая проверяет права доступа пользователя на изменение параметров или других действий. В нашем случае доступ открыт для управления комментариями (видеть кнопки удалить, спам, изменить) только тем, кто имеет соответствующею роль пользователя 'moderate_comments' (подробнее о ролях и возможностях).

Результат.

результат изменений

И напоследок, как дополнительный бонус, добавим еще одну быструю кнопочку. Также мелочная деталь, но предоставляет быстрый доступ к редактированию статьи. Откройте файл single.php и в любое место, например, в конце статьи или в самом верху добавьте единую строчку:

<?php edit_post_link('[Редактировать статью]'); ?>

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

Источник: http://www.wpdaxue.com/add-delete-spam-links-to-comments.html

Автор, он же Андрей, он же Admin, он же WordSmall

Лентяй-любитель, окончил высшую школу безделья с многочисленными знаками отличия. Создатель этого небольшого «чудо-блога» о еще более «чудном» контенте.

E-mail Google+ Twitter
Комментариев: 6
  • Леонид

    Здравствуйте Андрей! Скажите, пожалуйста, есть ли в родной (установленной по умолчанию) системе комментариев CMS WordPress функция «цитирование», чтобы можно было бы комментировать цитату, а не весь текст? Если такой функции нет, можно ли её создать без какого-либо плагина?

    • WordSmall

      Здравствуйте! К сожалению, такой возможности по умолчанию нет. Насколько помню, есть такой старенький плагин Comment Toolbar. Он вроде решает эту задачу. А чтоб без плагина...даже не знаю. В интернете должны быть решения, я просто не задавался этим вопросом.

      • Леонид

        такой возможности по умолчанию нет

        Андрей (WordSmall), но на этом Вашем сайте есть же такая функция «quote»!
  • WordSmall

    У меня есть лишь добавление тегов blockquote в поле ввода текста. Или что вы имеете в виду?

    • Леонид

      У меня есть лишь добавление тегов blockquote в поле ввода текста. Или что вы имеете в виду?

      Андрей (WordSmall), понял, что в родной системе комментирования CMS WordPress, а также на этом Вашем сайте нет функции автоматического цитирования выделенной части текста, как это предусмотрено в плагине Comment Toolbar, а есть ручное цитирование обычным способом в виде нажатия курсора на

      английское слово «quot», после чего внутри появившегося в форме ответа тега <blockquote></blockquote> надо вставить скопированную цитату. В связи с чем скажите, пожалуйста, разве нельзя кодом сделать в родной системе комментирования WordPress функции автоматического цитирования выделенной части текста, как это предусмотрено в плагине Comment Toolbar?

      • WordSmall

        Имеете в виду без плагина? Можно, и если я не ошибаюсь, в интернете есть готовые решению. Но «с плагином» «без плагина» — разница не значительная.

Добавить комментарий
bold quote code