Привет, друзья! Спонтанный пост сегодня. Социальные сети и различные мессенджеры тесно переплелись с нашей жизнь и уже сложно представить, а что было бы без них? Это удобно, быстро и понятно буквально для каждого человека. Корпорации вкладывают огромные деньги не только в дизайн, заказывая научные исследования о том, как тот или иной цвет влияет на человека и его восприятие, но и в удобство использования, юзабилити. И в повседневном пользовании мы постепенно привыкаем к определенным вещам, отсутствие которых уже можно считать неудобным.
Ко многим фишкам мы привыкли и хочется, чтобы они были везде и работали одинаково.
Везде, да не везде! Я не особо любитель соцсетей или мессенджеров, но приходится пользоваться, и в итоге даже я «деформировался». В частности, я настолько привык к сочетанию клавиш ctrl+enter для отправки сообщений (или любых других форм, которые можно и нужно отправлять), что подсознательно я сначала нажимаю эти клавиши и только потом думаю. Банально собираюсь отвечать на накопившиеся комментарий на моем блоге, отвечаю и сразу начинаю нервничать, когда после нажатия ctrl+enter ничего не происходит.
Сегодня я дошел до критической отметки, решил, что так больше жить нельзя, и надо сделать, чтобы при нажатии ctrl+enter отправлялся комментарий и на моем блоге!
Сказано – сделано. Делюсь решением.
В админке своего WordPress блога заходите в раздел «Внешний вид – Редактор», справа сбоку ищете шаблон «Комментарии (comments.php)» переходите к нему и ищите конец формы, то есть строку «</form>». Выше добавьте:
<script type="text/javascript"> document.getElementById("comment").onkeydown = function (moz_ev) { var ev = null; if (window.event){ ev = window.event; } else{ ev = moz_ev; } if (ev != null && ev.ctrlKey && ev.keyCode == 13) { document.getElementById("submit").click(); } } </script> |
После этого нажимаем «Обновить файл», а затем чистим весь кеш (у меня стоит плагин WP Super Cache и поэтому в шапке всегда есть кнопка «Удалить весь кеш»).
Обратите внимание!
Пока писал, подумал, что, скорее всего, у вас не будет нужной формы в шаблоне comments.php, а она будет вынесена в файлы движка, которые трогать не рекомендуется и которые при каждом обновлении перезаписываются. Только у меня шаблону уже больше 6 лет и все костыли так за ним и тянутся из года в год, из версии в версию…
Для вас я придумал намного более элегантное и универсальное решение. Оно подойдет для любых версий WordPress, для любых шаблонов и т.д. В админке заходите во «Внешний вид – Редактор», ищите шаблон «Функции темы (functions.php)» и в самый низ добавляйте функцию:
/*** ДОБАВЛЯЕМ наш JS в форму отправки комментария ***/ function ctrlEnterPosting () { echo '<script type="text/javascript"> document.getElementById("comment").onkeydown = function (moz_ev) { var ev = null; if (window.event){ ev = window.event; } else{ ev = moz_ev; } if (ev != null && ev.ctrlKey && ev.keyCode == 13) { document.getElementById("submit").click(); } } </script>'; } add_action('comment_form', 'ctrlEnterPosting'); // добавляем функцию ctrlEnterPosting в форму комментирования |
Нужный нам JS сам встроится в форму комментирования в нужное нам место. Не забудьте почистить кеш и можно идти тестировать!
А пока вы не реализовали у себя, можете потестировать у меня и сказать спасибо!
И помните – кто отправит комментарий по-олдскульному, т.е. нажав на кнопку «Отправить», тот лох )))
лучше про comparer напиши. как проект себя чувствует? будет жить или нет?
ComparseR — правильно будет. Хорошо себя чувствует, процветает, а были какие-то сомнения?
Да, конечно, ComparseR. Опечатался!
Были слухи о проблемах, но, видимо, наврали :)
Хотелось бы узнать, что за слухи такие? И о каких проблемах речь?
Говорили, что программист тебя кинул и забрал исходники.
Мало ли что говорили :) Это не так. А о том, идет работа или нет, всегда можно посмотреть на странице новостей — http://trust.alaev.info/news/
и кстати, твой код не фурычит. при попытке отправки без кнопки, выдало — "Не спамьте, пожалуйста. Этот сайт защищен.
Включите JavaScript в Вашем обозревателе и попробуйте еще раз..." при это js включен
мозилла, если чо
Хм... А в другом браузере ради интереса пробовал? Это на твоем блоге такая ошибка или на моем?
Я во всех браузерах тестил на своем блоге — все прекрасно работало.
проверяю на этом сайта. проверил в хроме — тоже самое
в хроме все по дефолту, он как раз для тестов
Ладно, будем разбираться, попрошу еще кого-нибудь попробовать оставить коммент таким макаром, может поймем, в чем же дело!
Проверил еще раз, сейчас все нормально. Возможно на моей стороне был баг.
Удобно)) спасибо!
Хром Win10. Полет нормальный.
ctrl+enter
Firefox 45, Win 10. Полет нормальный
ctrl+enter работает)
Жаль, что сижу с телефона, не могу сразу протестировать))))
Кстати странно, что разработчики вордпресс сами этот функционал не добавили
Хм — работает :) Только вордпрес не использую (
Благодарочка
Good job!!!
Сначала подумал — ну что за ерунда.
А потом подумал, как удобно владельцам ноутов без мышки
Просто проверочка на CTRL + ENTER
Спасибо, Александр! Очень интересная статья и ваш материал был очень полезен, лично для меня!
Спасибо, Алаичъ, будем внедрять!
Комментарии — это не сообщения в месседжерах. Приучая читателей к такой простой отправке, они комментарии будут строчить как сообщения: по одному слову. Собственно, выше так и получается.
Лучше будет, чтобы перед нажатием на кнопку "Отправить", комментатор еще раз прочел свое сообщение, обдумал, а не строчил как из пулемета.
П. с. На своем блоге удаляю все комментарии типа "Спасибки", "Классная статья" и пр.
ctrl + enter
Отличное решение, спасибо!
Спасибо за совет!
Спасибо, пригодился совет.
Учитывая накопленный пользовательский опыт аудитория для конкретного ресурса вряд ли станет пользоваться данной фишкой "на постоянке", скорее побалуются и будут жать "по старинке" ))
Тогда уж и комменты надо оформлять в стиле чата. А CTRL+Enter — это, сочетание клавиш для уведомления об ошибках и опечатках. Такие системы типо Орфо очень популярны
нукась попробуем, что там земляк придумал)))