Как ограничить максимальную длину комментария в символах
Предлагаю простое решение для ограничения максимальной длины оставляемого комментария на вашем сайте под CMS WordPress. Если лимит будет превышен - исчезнет кнопка "Опубликовать" комментарий.
Чтобы знать сколько символов уже введено, рядом с формой комментария будет присутствовать соответствующая надпись и число, уменьшающееся по мере набора.
Ограничить максимальную длину комментария и внешний вид информационной строки вы можете сами. Об этом ниже по статье.
Для начала создадим пустой файл и назовем его comment_limiter.js (советую использовать бесплатную программу Notepad ++).
Внутри созданного файла разместим такой код:
1 2 3 4 5 6 7 8 9 10 11 12 13 | jQuery(function($) { var comment_input = $( '#commentform textarea' ); var submit_button = $( '#commentform .form-submit' ); var comment_limit_chars = 1000; $( '<div class="comment_limit_info">Осталось <span>' + comment_limit_chars + '</span> символов</div>' ).insertAfter( comment_input ); comment_input.bind( 'keyup', function() { var comment_length = $(this).val().length; var chars_left = comment_limit_chars - comment_length; $( '.comment_limit_info span' ).html( chars_left ); if (submit_button) ( chars_left < 0 ) ? submit_button.hide() : submit_button.show(); }); }); |
В четвертой строке кода есть цифра 1000, которая означает максимальное количество символов, после превышения которого исчезнет кнопка публикации комментария.
Блоку с русской надписью задан class="comment_limit_info", который правим под себя если нужно.
Закидываем созданный скрипт себе в папку с шаблоном (в корень или папку /js/). Теперь нужно подключить этот файл в самом шаблоне. Открываем footer.php и перед закрывающим </body> вставляем:
1 | <script src="<?php bloginfo('template_url'); ?>/comment_limiter.js" type="text/javascript"></script> |
Верхний код на случай, если вы скинули файл скрипта просто в корень шаблона. А теперь, если скинули в папку /js/. Определитесь какой вам подходит вариант.
1 | <script src="<?php bloginfo('template_url'); ?>/js/comment_limiter.js" type="text/javascript"></script> |
Все. Теперь можете проверять работу на сайте.
Если что-то не заработало, значит у вас не совпадают идентификаторы формы ввода комментария или кнопки. Обратите внимание, что в коде скрипта есть на данный счет информация, которую можно подредактировать в своих нуждах:
1 2 | var comment_input = $( '#commentform textarea' ); var submit_button = $( '#commentform .form-submit' ); |
Сверьтесь со своей формой.
Давай, оцени статью!