Как и говорил в предыдущей публикации (в которой мы убирали теги h3 в заголовке перед формой комментирования) – сегодня заставим функцию формы комментов WP работать целиком по нашим правилам:
…получим возможность задавать собственные стили, менять на своё усмотрение заглавие “Добавить комментарий”, исключать при необходимости определённые окошки ввода информации, например форму url, настраивать placeholder и т.д. а, главное, не потерять всё это при обновлении движка.
Нынче мы запросто выполним нашу цель, всего лишь редакцией файла функций. И коли вы чувствуете в себе силы редактировать код сайта (этот способ чуть сложнее от того, который описан ранее)…
Начнём концерт:
описание функции comment_form()
стоит ли редактировать ядро WordPress
Как известно, править ядро WordPress (файлы CMS) не рекомендованное занятие, в большей степени из-за того, что после обновления движка теряются наработки! Тем паче у начинающих администраторов ресурсов, эти обновления вордпресс совершаются внезапно (без их ведома) как этого избежать, читайте в этой статье.
стоит ли обновлять WordPress
Непременно да! …тут не может быть и разногласий! …однако это чревато, как и говорилось, тем что обновление движка затирает редакции администратора!
Посему многие веб мастера, для более гибких настроек своего сайта, используют всевозможные фильтры (хаки): тоже неплохо! Однако я (и не только один я) предпочитаю какие-то второстепенные (относительно важности постоянных обновлений) функции ядра WP переносить в корень шаблона.
Таким образом выводить необходимые регулировки в файлы темы, чтобы на уровне шаблона управлять государством сайта: без всяких потерь)
Приступим к редакции, но !!
ПАМЯТКА:
…напоминаю всякий раз: заведите какой-то документ «запоминалку» всех совершаемых эксов с блогом. Копируйте редактируемые файлы. Пригодится!
Поверьте: так короче до профессионализма, ибо возможность переварки накопленных крупиц знаний в кашу маловероятна!
Что нам нужно для достижения цели:
перенести из ядра WP (из файла comment-template.php
) отработку функции comment_form
в директорию шаблона.
где найти файл comment-template.php
Переходим по этому пути ваш_домен/wp-includes
файл comment-template.php
…открываем его (или прямо на хостинге – я делаю так), или скачиваем и редактируем в Нотепад++ – читать: как настроить Notepad++
Ищите такую строку (примерный № строки 2111)
function comment_form( $args = array(), $post_id = null ) {
далее отыщите финал функции…
do_action( 'comment_form_comments_closed' );
endif;
}
Всё это копируете и переносите к себе в файл функций functions.php.
Обычно, все новые добавления кода помещают перед закрывающим тегом ?>
. Но я рекомендую добавляемый код группировать, так сказать, по теме, тогда всё запросто при необходимости отыщете.
Следующим шагом будет изменение имени функции: можете назвать её как угодно душе, хоть именным вензелем обозначить… У меня получилось так:
function my_my_comment_form
Сохраняем наработки…
…и переходим в файл вашей темы comments.php.
В этом файле нам нужно поменять имя вызова функции, на то, которым обозвали на первом шаге:
Отыскиваете в документе такую фразу (она обычно в его финале): <?php comment_form(); ?>
и просто-напросто добавляете my_my_
ну или своё имя.
Должно получиться так:
<?php my_my_comment_form(); ?>
…теперь задача вызова новой функции выполнена: логика шаблона станет использовать именно наш перекопированный в тему код!
Что нам и требовалось!
Теперь всё что вам остаётся выполнить, так это подредактировать под свои нужды код новоиспечённой функции my_my_comment_form();
Например, меняют “Добавить комментарий” на какое-то иное предложение поделиться соображениями…
…или задают индивидуальную отработку placeholder – посмотрите как выглядит это у меня:
…у меня в окошке формы комментирования расположен вензель “Ваш комментарий…” который исчезает, как только комментатор набирает своё послание…
…и тому… и тому… подобное.
Есть какие-то вопросы по добавлению/уборке элементов формы комментирования, пишите, разберёмся…
…или вот можете почесть пост о полезных сниппетах (фильтрах, хаках) для формы комментирования…
На этом занавес представления опускается…
…на рампы пыль печальная ложится…
Online консультация по настройкам и созданию сайтов на WordPress
!..подписываясь на обновления mihalica.ru —
...расстаёмся с невежеством..!
Как работать с условными тегами WP: пример на странице пагинации – закрываем в noindex,follow
mihalica.ru !
Спасибо большое! мне нужно было убрать форму ввода ссылки сайта, но подходящего решения не находил… а теперь выходит многое решу!!
Спасибо огромнишее…
Да и совсем не за что…
Перерыл весь интернет на эту тему. Я редко пишу комменты, но здесь дико благодарен за этот хак.
И Вас – благодарю, Дима, за щедрый комментарий… и не молчание томное))
заходите и впредь…
Осталось много вопросов:
у меня фрагмент кода это 310 строк, и то – он не завершается указанными командами, а:
<strong> do_action( 'comment_form_after' );
}</strong>
А если взять фрагмент до
do_action( 'comment_form_comments_closed' );
(дальнейших команд там нет) – то имеем десяток строк, без каких либо настроечных командТакиедела
А далее:
Закрывающего тэга ?> нет, в принципе в код его нет((
И куда лучше группировать не ясно, то есть к какой группе пристроить данный кусок кода ?