Теперь ближе к теме. Ты сталкивался когда-нибудь с комментариями, в которых основной смысл ограничивается упрёком автору в его орфографии или грамматике? Или вот пишешь ты коммент, долго пишешь, умный-заумный такой комментарий, чуть ли не на тома разбивать нужно. Потом отправляешь, не глядя... И уже сохраненное на сервере сообщение перечитываешь и понимаешь, что припустился ошибки или досадной опечатки. Бывало? И что тогда? Конечно проще забить, но я иногда, в особо нечитабельных случаях, пишу следующий комментарий, мол "автор, исправь то-то там-то, а этот коммент удали". А автора и след простыл. И висят оба коммента месяцами. А люди читают, спотыкаются: один коммент непонятен, другой - вовсе не информативный...
И тут приходит такой Kichrum и говорит: "Ребята! Ставьте в свои блоги мой плагин - и жить станет лучше!" В этой статье мы вместе напишем плагин для WordPress, обеспечивающий прямую связь с автором прямо через комментарии.
Вчера ночью Тормоз написал у себя в блоге об идее: что если к форме добавления комментария прикрутить флажок "только для автора"? И пусть такой комментарий, адресованный персонально автору, не мозолит глаза обычным читателям, а доставляется строго "по адресу". Ведь это решит сразу все перечисленные выше проблемы.
Мне идея понравилась на столько, что я тут же загорелся желанием её реализовать. Не в глобальных масштабах, конечно, но простенький плагин для себя и для WordPress написать точно стоило.
Заморачиваться с отправкой мыла через плагин я не стал. Всё же стоит отделять мух от котлет: пусть форма обратной связи тихонько выполняет свои функции, ну а встроенная система комментирования - свои. Что есть в комментариях WordPress, но далеко не всегда используется блогерами? Премодерация! Более того, я очень не уважаю сайты, у которых все комментарии проходят модерацию перед публикацией. Надеюсь, своим плагином я ещё и увеличу количество блогеров, отказавшихся от премодерации всех комментариев.
Так вот, я решил, что достаточно было бы в WordPress комментарии "персонально администратору" отправлять просто на жесткую премодерацию (естественно, администратор не должен такие комментарии аппрувить, ведь они не для этого предназначаются).
Сложней всего было разобраться с формой отправки комментария. Идеальный вариант был бы, если галочка "только автору" будет появляться примерно непосредственно перед кнопкой отправки комментария. Но в моей доисторической версии шаблона, который переделывать мне не хочется вот уже несколько лет, всех таких прелестей жизни нет. Иначе идеально подошел бы вариант работы с $args['comment_notes_after'], но я решил не искать легких путей, извратиться и воспользоваться тем, что есть. Перехватил действие comment_form. Вписал в него следующее:
echo "\n"
. '<p class="only_author_flag">' // Стиль для абзаца с флажком - p.only_author_flag - можно настроить через style.css
. '<input id="only_author_flag" type="checkbox" name="only_author_flag" value="true" />' // id флажка также #only_author_flag
. '<label for="only_author_flag" title="'
// Текст, отображаемый при наведении курсора на описание к флажку:
. 'Например, если в комментарии содержится указание на ошибку в тексте или просьба исправить предыдущий комментарий... Обратная связь в общем'
. '">'
// Текст описания флажка:
. 'Обращение к автору блога (не публиковать для всех)'
. '</label>'
. '</p>';
То есть банально просто вывод флажка ниже формы. comment_form запускается сразу перед закрывающим тегом </form>, так что действие кнопки отправки комментария распространяется и на наш флажок.
Далее нам необходимо профильтровать комментарии, отправленные с установленным флажком и без такового. В листинге выше указано name="only_author_flag" и value="true", значит, будем работать с элементом $_POST['only_author_flag'], и в нем хранится true, если галочка стоит.
Возьмем сначала фильтр preprocess_comment($commentdata) и допишем к тексту отмеченного комментария примечание, что он действительно отправлен на жесткую премодерацию (а не по решению движка или антиспам-фильтров):
if($_POST['only_author_flag'] == 'true')
$commentdata['comment_content'] =
// Комментарии автору будут помечаться этим текстом:
"<blockquote>[Комментарий доступен только автору блога]</blockquote>\n" // (Выглядит как цитата)
. $commentdata['comment_content'];
return $commentdata;
Так мы "отделили" обычную премодерацию от "обратной связи". Затем отфильтруем на спам, повторы, лишние ссылки и т.д. и в последнюю очередь проверим через фильтр pre_comment_approved($approved), не установлен ли флаг. Если установлен, присваиваем ему статус "hold" (или просто нолик). Если нет - возвращаем статус, полученный проверками, произведенными ранее (в т.ч. антиспамами и другими плагинами).
if($_POST['only_author_flag'] == 'true')
return 0; // Строгая отправка комментария на модерацию
else
return $approved; // Сохранение комментария по правилам антиспамов и прочих встроенных систем
Вот такой простенький, но полезный плагин у нас получился (надо еще правда разбросать по функциям и присвоить их к фильтрам и действию). Посмотреть на флажок в работе можно прямо тут. Скачать готовый плагин WP Whisper можно здесь.
Это уже второй мой плагин. Первый, магазин свободных цен для WordPress, не вызвал шквал пользователей и разочаровал меня. Возможно, это из-за A1Pay, который в последствии очень подвел своим неадекватным поведением. Но на тот плагин я потратил больше времени и сил. На второй уже сильно не напрягался вовсе. "KISS" типа, ага. ;)
Если тебе понравилась статья, можешь поблагодарить, купив ВП Шепот по свободной цене.
P. S. Пару слов об изменениях на блоге. Лента влюбленных удалена по просьбам трудящихся, для разгрузки священной коровы пользователей Windows. Такая фича моего блога, как "Пишут обо мне", тоже не прижилась: никто из влиятельных людей (способных повлиять хотя бы на результаты поиска Google) не напрягался со ссылкой на меня. Остальные же старались напрасно. Скоро буду менять потихоньку политику блога, пожалуй...
Отличная идея с флажком. Нужно будет попробовать
ВідповістиВидалитиОтличная идея, ибо часто вижу не только у других опечатки, но и у себя. Ясное дело со всеми бывает и с этим нужно разобраться.
ВідповістиВидалитиСогласен, идея хорошая, у меня блог есть на вордпресс, но сейчас сделал на Макс сайт - в нем все проще.
ВідповістиВидалитиПрямо как у классиков: бабе - цветы, дитям - мороженое. Публике - публичное, автору - авторское))) И код легкий получился))
ВідповістиВидалитиНо вот смотрю я на форму коммента - и понимаю, что лучше, если галочка "Автору" будет НАД кнопкой Запостить
ВідповістиВидалитиВот кстати предыдущий оратор прав про разместить флажок над кнопкой. Мне кажется можно не заметить это галочку просто, и не знать о ее существовании долгое время.
ВідповістиВидалитиBiololG, Fallen_Angel, отвращение только вызывают комментаторы, которые не читают статью перед тем, как комментировать. Стыдно должно быть, ребята. Абзац №8 для вас.
ВідповістиВидалитиА если на блоге и так стоит премодерация, то толку всё же никакого в плагине нет?
ВідповістиВидалитис флажком будет лучше 100%
ВідповістиВидалитиДля борьбы с опечатками на своем сайте я пользуюсь скриптом Orphus. (orphus.ru/ru/). Очень удобно!
ВідповістиВидалитиА я тупо не борюсь с опечатками. Бессмысленно, особенно для такого блога как мой. У плагина есть и другие преимущества.
ВідповістиВидалитиОпичатки повсемесно, не только в коментах, но и в статьях, проверяешь по несколько раз, а потом всеровно их находиш,наверное это проблема слишком быстрого чтения;)
ВідповістиВидалитиНа счёт плагина, особой надобности в таком не вижу, помоему обратной связи вполне достаточно.
ВідповістиВидалитиА с очепятками у меня отлично chrome справляеться.
да я на некоторых сайтах встречался с подобной системой.
ВідповістиВидалитиесли вслед за неудачным словом отрпавить еще один коммент в таком формате:
*неудачное слово
то первый коммент исправится)
Хм... Интересно, tipok, можно и такое реализовать в принципе...
ВідповістиВидалитиА что транчляция с твиттера так грузит систему?
ВідповістиВидалитиЗадумка неплохая. И отпадает необходимость в форме обратной связи.
ВідповістиВидалитиТрансляция твиттера вроде не может систему грузить, я проконсультируюсь, опишу.
ВідповістиВидалитиЧозанах, какая наф трансляция? Статья не об этом. А об этом - почитайте коммент под ссылкой в пост скриптуме.
ВідповістиВидалитичаще эти ошибки незаметны, комментарий все равно остается читаемым, но это уже кто как захочет:)
ВідповістиВидалитиНе знаю, много ли будет писаться комментов "для админа"
ВідповістиВидалитиНеплохая идея с плагином!!! Тоже хочу свой полноценный блог завести, как соберусь, может и воспользуюсь!!!
ВідповістиВидалитиНу как идут сообщения для админа?
ВідповістиВидалитиCколько будут писать админу- покажет практика! Пока не попробуешь то и не узнаешь.
ВідповістиВидалития думаю из-за опечатки никто не будет отсылать отдельное сообщение.
ВідповістиВидалития буду...
ВідповістиВидалитиПрямо как у классиков: бабе – цветы, дитям – мороженое. Публике – публичное, автору – авторское))) И код легкий получился))
ВідповістиВидалитиОх как вы ошибаетесь в ошибках есть своя изюминка - некоторые специально пишут с ошибками... чтобы была хоть какая то индивидуальность - это же интернет а не школа в конце концов
ВідповістиВидалитиДа, anadonam, я так тоже думал, пока не научился писать грамотно. Это основная отмазка у всей школоты, так что всё ок ;)
ВідповістиВидалитиДумаю, для таких целей лучше использовать плагин, позволяющий редактировать комментарии их авторам после отправки.
ВідповістиВидалитиНо идея использовать как-то предварительную модерацию интересна. Надо как-то приспособить такую фичу
Хайпер, то, что ты написал, - лишь одно из множества применений данного плагина. Я назвал его лишь для примера.
ВідповістиВидалитиТа я ваще ваще люблю с ошибками писать, а точнее сказать в основном это не ошибки а акцент, типа разговорный, как говорю так и пишу. Целых 11 школьных лет меня заставляли писать грамотно, но теперь всё, отстаньте, как хочу так и пишу, бе
ВідповістиВидалитиНаверное, кому-то пригодится. Но столько возни из-за пары ошибок, при почти поголовном презрении к правилам грамматики... Не знаю.
ВідповістиВидалитиСпасибо большое за плагин! На самом деле порой что-то такое и требуется, а где найти не знаешь. Сохраню себе на всякий случай.)
ВідповістиВидалитиЗа плагин спасибо, добавлю себе в свою "базу". С флажком оригинально, можно пользоваться чтобы не вычитывать все комменты, если их много.
ВідповістиВидалитиЯ никогда не общался на прямую через комменты. Надо будет попробовать.
ВідповістиВидалитифлажок “только для автора” - идея зачетная! Попробую реализовать на своем блоге. Спасибо за решение проблемы!
ВідповістиВидалитиВ ощибках чувствуется своя индивидуальность. Наверно и пишут так поэтому.
ВідповістиВидалитиА Вы не пробовали разработчикам WP отправить идейку? Кардинальная же, её нужно в релиз ставить.
ВідповістиВидалитибред, конечно, как для идеи в релиз =)
ВідповістиВидалитиПо мне, так классный плагин, теперь можно с автором напрямую связываться.
ВідповістиВидалитиНе вижу никаких изюминок в ошибках или опечатках, другое дело - намеренно исковерканные слова для придания особого значения тексту. Плагин безусловно полезный. Соберусь с силами - попробую.
ВідповістиВидалитиВсё простое гениально, надо будет взять на заметку и опробовать флажок.
ВідповістиВидалитиКлассный плагин, это что то новое - общение через комменты на прямую.
ВідповістиВидалитиЯ тоже думаю что орфус пока лидирует по этой теме.
ВідповістиВидалитиОпечатки - это вполне нормальное явление. Они не свидетельствуют о безграмотности. Более того, некоторые их специально делают. Так что если суть поста не теряется, то и зацикливаться на очепятках не стоит.
ВідповістиВидалитиДа, часто человек знает как нужно писать правильно, но делает определенную ошибку выделяя одно слово или фразу.
ВідповістиВидалитиТоварищи, всегда проверяйте орфографию!!! Я однажды начальнику написал вместо давно=гавно. Было очень печально =(
ВідповістиВидалитиОрфография важна, но с появлением интернета когда люди много общаются в чатах и мессенджерах, пришел компьютерный сленг. Много сокращений и переделанных слов, молодое поколение не заботится о правильности написания, лишь бы смысл был понятен.
ВідповістиВидалитиА зачем искать в комментах ошибки??
ВідповістиВидалити