Ремикс Comment Toolbar
Гм, формат большой «публикации» не совсем вписался. Отсутствие понятной четкой структуры, иллюстраций (ну лузер я в этом плане, не то, что meshkoff) и всего прочего отнюдь не положительно влияет на восприятие текста. Ну да бог с ними — все равно, по большей части, это черновики для себя на будущее.
По заявке локализатора этого плагина, вернусь к теме цитирования и сделаю то, что давно должен был сделать не говорящий по-русски автор плагина. Т.е. выложу модифицированную версию плагина Comment Toolbar (сваяно с перевода AlexNote), соответственно моим представлениям о юзабилити подобной функциональности. Конечно, я обожаю GPL.
Я бы не сказал, что плагин полностью валиден (использование <b> валидным не назовешь), есть проблемы и с кроссбраузерностью js-скрипта. Но с заявлением о особой громоздкости я погорячился. И в первый момент не заметил стандартный скрипт плавной прокрутки для любителей красивых эффектов — меня, конечно, устраивает и «резкая», но само наличие — хорошо.
Итак, мои исправления:
- Вкладка настроек перенесена из «Плагинов» в «Параметры» (Options), где им самое место.
- Более логично сгруппированы поля в настройках, добавлены лейблы к инпутам, почищен код.
- Изменены настройки по умолчанию (перевод на русский жесткий из-за лени).
- Убрана полностью навигация по комментарием как пример анти-юзабилити.
- Добавлена настройка ID поля textarea ввода комментария — в случае, если для защиты от авто-спама он был изменен.
- Сокращен и почищен текст вставляемого в код javascript'а.
- В случае, если цитирование или ответ отключен (пустое поле), то используемая функция не выводится (экономия места, да-да-да).
- Когда цитирование выключено, текст комментария не оборачивается в лишний спан.
- Т.к. можно цитировать, на самом деле, любой кусок текста, выделяя его, введена возможность цитирования по горячим клавишам. Выделяете текст и жмете шоткат
Ctrl+Shift+C. Из-за объема js-кода по умолчанию отключен. - Убрана поддержка скрипта «плавной» прокрутки.
- Достигнута полная кроссбраузерность — и по шоткатам, и по самим функциям. Т.к. решил не загромождать код сохранением положения курсора, курсор при вставке цитирования устанавливается в конец текста комментария.
- Самое вкусное — 5 вариантов выделения ответов: просто имя, выделение
<strong>(вместо расово неверного<b>), @Twitter-like стиль, 2форумный стиль и кастомный CSS (добавляется класс quoteauthor в спан или ссылку.) - Наконец, есть возможность включить в настройках автоматическую подстановку ссылки на цитируемый комментарий (и комментарий автора, которому отвечаете). Автоматически изменяются скрипты, ссылка формируется из установленной маски, а также функции
get_comment_ID(). Работает вроде отлично.
Нерешенная проблема (тоже лень) — зачистка правильных запросов настроек плагина. Сейчас при каждом выводе комментария кадый раз запрашивается, если я не ошибаюсь в том, как работает ВП-функция get_option(). Ну, хотя бы, лишнего запроса не делает (но опять же, лишнее количество опшнов увеличивает объем загружаемой инфы из базы).
Итак, идите качайте укороченную и исправленную версия Comment Toolbar →
Про то, как это сделать все то же самое, но ручками, писать уже не буду, т.к. пустое это. Все равно все с ума свихнулись на плагинах. А сделать все просто, чуть-чуть поработав копипастой. Маленький совет — сделайте под это один подключаемый файл скрипта, особенно, если замещаете другие плагины, которые также подключают кучу js.
И все же пару типов.
Если в теме используется get_comment_text() (ну что-то вы делаете с комментариями сами) вместо comment_text(), то, естественно, блок от плагина не подключится. Соответственно, придется ручками прописывать в нужном месте (как раз после вывода текста комментария в шаблоне):
<php cf_comment_toolbar(); ?>
Не используйте выравнивание в настройках плагина — выберите «кастомный CSS». Т.к. если позиция «над» или «под» комментариям делается php-скриптом, то здесь стиль добавляется прямо в тег, что неправильно. Настройте его CSS, просто установив необходимые параметры блоку comment-toolbar. Например:
.comment-toolbar {text-align:right;}
В некоторых темах, возможно, придется работать с float. Но, вообще, с этим «тулбаром» можно сделать что угодно — выделить цветом или еще как-нибудь извратиться (пока это удобно комментаторам).
Аналогично при выборе кастомного CSS в имени автора, которого цитируете или которому отвечаете, нужно указать стиль класса .quoteauthor (потому как использование b или strong, например, плохо с сеошной точки зрения). Если же используете кнопки вместо ссылок (опция осталась), то работать с CSS придется точно.
Стрелочки навигации по комментариям я убрал полностью, по уже названным в предыдущих статьях причинам. Переход в начало комментариев и конец можно, конечно, реализовать блоком, который всегда будет висеть слева-справа по абсолютной позиции (а можно и шоткатами по js, кстати), но кнопки home-end все-таки эффективней.
Но вот два элемента будут очень и очень полезны в вашем блоге. Если в вашей теме их нет, то стоит сделать.
Во-первых, т.к. ссылка с главной страницы ведет на #comments, т.е. начало комментариев (некоторые ставят на форму, что вообще ни в какие ворота), нам нужна ссылка рядом, ведущая на на форму, для быстрого ответа. Скажем, если id у формы выглядит так:
<form id="commentform" ...
То нам нужна ссылка туда, оформленная в виде элемента управления (лучше стрелочки):
<a href="#commentform" title="комментировать">↓</a>
Аналогично с элемента рядом с формой (рядом с ее заголовком навроде "Написать комментарий) должен аналогичный элемент, ведущий наверх:
<a href="#comments" title="к комментариям">↑</a>
Такие дела.




Спасибо за плагин, воспользовался. но обнаружился глучок...
когда кто-то регистрируется, то в «Настройках» у человека остается этот плагин... и он его может менять.
ну у меня так точно получилось. Может, у меня руки кривые : ) в других режимах не пробовал, пробовал только когда регистрируемый — в роли Автора.
ах, черт, да. Там надо поменять подключение этого пункта меню, а то, действительно, как-то неправильно получается...
я не программер не фига, и не знаю, как это делать : (
можно подсказать? если это немного...
седня, собссно, первый же, кто зарегистрился, поменял вот такую же красивую надпись ответить | цитировать на кнопки... : )
@Pashka.Ru: Только если завтра, к сожалению. На этом компе нет ничего, чтобы сделать это быстро.
@автор: да мне не сложно : ) я все равно на стадии тестирования...5-ый день тока WP изучаю...
скажу спасибо, жду! : )
@Pashka.Ru: я извинтиляюсь, совсем забыл. Плагин поправил, перезалил.
В принципе, можете сами у себя поправить 69 строчку, заменив в
add_options_page('Comment Toolbar Options', 'Comment Toolbar Options', 1, basename(<em>FILE</em>), 'cf_comment_toolbar_options_page');цифру 1 на 8.
Спасибо большое, я и сам почти забыл : )
Точнее, я сам хотел уже пойти посмотреть, что и как там работает : )
1 и 8 — это роли?
Почти, точнее говоря, это левелы — уровни доступа. codex.wordpress.org/Roles_and_Capabilities, если интересно.
ну, так они тами называются ролями : )
первый же плагин, который щас открыл для сравнения — кросс линкер, там как раз вот точно такая же строчка и имеется.
Ой, не ту ссылку дал. Роли — это администратор, автор и т.п., каждому из которых можно назначить (условно говоря) возможность на действия. А вот уровни — это как раз области возможностей — 8 доступен тем, кто имеет доступ ко всем, для 1 же достаточно быть зарегистрированным codex.wordpress.org/User_Levels
Ну, это я из принципиальности.
Вообще, я не помню, с чего я так скосячил. А для верности надо ставить вообще 10 уровень — чтобы бул доступ только у админа. Благодаря тебе, теперь этот пункт в моем чеклисте )
Ну я думаю, что накосячил при проверке : )
бывает такое... я вот про профессии больше связан с сантехникой и отоплением... так вот недавно залил комнату у клиента : ))) ну, чтобы водичка стекала быстрее — открутил вторую трубу. а потом, конечно же, забыл ее прикрутить : )
кста, и еще : ) этот косячок заметил первый же зарегистрированый юзер : ) я удивился, когда вместо надписей ответить | цитировать оказались серые кнопочки...
Мммм, вообще, это не мой плагин, я только правил его :). В настройках же можно настроить — кнопочками будет, или ссылками «ответить».
О! кста, Щас посмотрю, что там в оригинальном плагине было!
Так юзер сразу же залез в настройки и там поменял! Это у Админа много ссылочек, а Автора — не много. Проще найди что-то : )
В оригинале, правда, в последней версии, там 5.
Ну, это не совсем правильно — менять такие натройки должен только суперюзер, админ.
Добрый день.
Для активации при get_comment_text (); надо использовать следующий код:
Так как cf_comment_toolbar () возвращает переменную, которую ещё надо вывести.
Вы не можете подсказать, почему, при объявлении функции вручную, цитирование комментария без выделения (просто, при клике на «Цитировать») не работает?
А всё, разобрался.
Вопрос снимается :)
В версии 3.0 перестал выводить ссылки на кнопки Цитата. Стиль старых комментариев с цитированием через плагин сохранен.
Подскажите, как вывести эти кнопки?