Привіт, друзі! Спонтанний пост сьогодні. Соціальні мережі та різні месенджери тісно переплелися з нашого життя і вже складно уявити, а що було б без них? Це зручно, швидко і зрозуміло для кожного людини. Корпорації вкладають величезні гроші не тільки на дизайн, замовляючи наукові дослідження про те, як той чи інший колір впливає на людину і його сприйняття, але і зручність використання, юзабіліті. І в повсякденному користуванні ми поступово звикаємо до певних речей, відсутність яких вже можна вважати незручним.

До багатьох фішках ми звикли і хочеться, щоб вони були скрізь і працювали однаково.

Скрізь, та не скрізь! Я не особливо любитель соцмереж або месенджерів, але доводиться користуватися, і в результаті навіть я «деформувався». Зокрема, я настільки звик до поєднання клавіш ctrl+enter для відправки повідомлень (або будь-яких інших форм, які можна і потрібно відправляти), що підсвідомо я спочатку натискаю ці клавіші і тільки потім думаю. Банально збираюся відповідати на накопичені коментар на моєму блозі, відповідаю і відразу починаю нервувати, коли після натискання ctrl+enter нічого не відбувається.

Сьогодні я дійшов до критичної позначки, вирішив, що так більше жити не можна і треба зробити, щоб при натисканні ctrl+enter вирушав коментар і на моєму блозі!

Сказано – зроблено. Ділюся рішенням.

В адмінці свого WordPress блогу заходьте в розділ «Зовнішній вигляд – Редактор», праворуч збоку шукаєте шаблон «Коментарі (comments.php)» переходьте до нього і шукайте кінець форми, тобто рядок «». Вище додайте:

<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>

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();
}
}

Після цього натискаємо «Оновити файл», а потім чистимо весь кеш (у мене стоїть плагін WP Super Cache і тому в шапці завжди є кнопка «Видалити весь кеш»).

Зверніть увагу!
Поки писав, подумав, що, швидше за все, у вас не буде потрібної форми в шаблоні comments.php, а вона буде винесена в файли движка, які чіпати не рекомендується і які при кожному оновленні перезаписуються. Тільки у мене шаблоном вже більше 6 років і все костилі так за ним і тягнуться з року в рік, з версії у версію…

Для вас я придумав набагато більш елегантне і універсальне рішення. Воно підійде для будь-яких версій WordPress, для будь-яких шаблонів і т. д. В адмінці заходьте в «Зовнішній вигляд – Редактор», шукайте шаблон «Функції теми functions.php)» і в самий низ додавайте функцію:

/*** ДОДАЄМО наш JS у форму відправки коментаря ***/
function ctrlEnterPosting () {
echo
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();
}
}
;
}
add_action(‘comment_form’, ‘ctrlEnterPosting’); // додаємо функцію ctrlEnterPosting у форму коментування

/*** ДОДАЄМО наш JS у форму відправки коментаря ***/
function ctrlEnterPosting () {
echo’
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();
}
}
‘;
}
add_action(‘comment_form’, ‘ctrlEnterPosting’); // додаємо функцію ctrlEnterPosting у форму коментування

Потрібний нам JS сам вмонтується у форму коментування в потрібне нам місце. Не забудьте почистити кеш і можна йти тестувати!

А поки ви не реалізували у себе, можете потестувати у мене і сказати спасибі!

І пам’ятайте – хто відправить коментар по-олдскульному, тобто натиснувши на кнопку «Відправити», той лох )))

З повагою, Олександр Алаєв