Змінити форму коментування WordPress





Змінити форму коментування WordPress

Давненько я нічого не писав про WordPress. Тому сьогодні я поділюся з Вами тим, як можна вручну змінити форму коментування в Вордпресі. Думаю, що ці знання можуть стати в нагоді будь-якому починаючому блогеру, адже форма коментування це, часом, єдиний засіб спілкування відвідувачів і автора. Не проходьте мимо Змінити форму коментування WordPress

Перед тим, як ми почнемо будь-які маніпуляції з кодом, хочу Вас заздалегідь попередити, що ми будемо правити файли самого WordPress’a, а не файли теми. Так, це може-бути здасться комусь небезпечним, комусь безглуздим, комусь просто не сподобається Змінити форму коментування WordPress

Але Я зробив це саме так і жодних проблем у мене не виникло. Раджу перед початком зробити бекап редагованого файлу.

Щодо безпеки попередив, тепер хочу показати результат, до якого я прийшов.

Змінити форму коментування WordPress

Як ми бачимо, була прибрана рядок «Ваш e-mail не буде опублікований. Обов’язкові поля позначені * ». Не потрібно вважати відвідувачів безмозкими ідіотами. Вони отже розуміють що потрібно заповнювати, а що ні. Так само я сховав назви полів всередину самих полів. До чого ці жирні записи? Більшість відвідувачів вже і без назв полів може «на око» визначити, яке до чого відноситься. Але внутрішні хинти все таки повинні бути присутніми. Ну і підпис до поля коментаря втратила свою непотрібну жірноту. На мій погляд, так стало набагато краще і вільніше.

Так давайте ж швидше все міняти! Змінити форму коментування WordPress

Йдемо в папку свого сайту і знаходимо в ньому файл wp-includes / comment-template.php. Шукаємо в ньому рядок 1522, так так саме її. Як я сам її знайшов це ціла історія, розповім про це трохи пізніше Змінити форму коментування WordPress

Отже, відкриваємо файл на редагування і переходимо до 1522 сходинці. Зараз вона і наступні (до 1529й) приблизно такі:

$ Fields = array (‘author’ = gt; ‘lt; p class ="comment-form-author"gt; ‘ . ‘Lt; label for ="author"gt; ‘ . __ (‘Name’). ‘Lt; / labelgt; ‘. ($ Req? ‘Lt; span class ="required"gt; * lt; / spangt; ‘ : »). ‘Lt; input id ="author" name ="author" type ="text" value ="’. esc_attr ($ commenter [‘comment_author’]). ‘" size ="30"’. $ Aria_req. ‘/ Gt; lt; / pgt;’, ‘email’ = gt; ‘Lt; p class ="comment-form-email"gt; lt; label for ="email"gt; ‘ . __ (‘Email’). ‘Lt; / labelgt; ‘. ($ Req? ‘Lt; span class ="required"gt; * lt; / spangt; ‘ : »). ‘Lt; input id ="email" name ="email" type ="text" value ="’. esc_attr ($ commenter [‘comment_author_email’]). ‘" size ="30"’. $ Aria_req. ‘/ Gt; lt; / pgt;’, ‘url’ = gt; ‘Lt; p class ="comment-form-url"gt; lt; label for ="url"gt; ‘ . __ (‘Website’). ‘Lt; / labelgt;’ . ‘Lt; input id ="url" name ="url" type ="text" value ="’. esc_attr ($ commenter [‘comment_author_url’]). ‘" size ="30" / Gt; lt; / pgt; ‘,);

Як все просто і зрозуміло. Досить просто вирізати все зайве і трохи дописати. Дописувати буде параметр

placeholder ="Текст підказки"

Цей параметр дозволяє виводити всередині полів будь-який текст. Використовуємо його для виведення підказок:

‘Lt; input id ="author" name ="author" placeholder ="Ім’я" type ="text" value ="’. esc_attr ($ commenter [‘comment_author’]). ‘" size ="30"’. $ Aria_req. ‘/ Gt; lt; / pgt;’   ‘Lt; input id ="email" name ="email" placeholder ="Електропошта" type ="text" value ="’. esc_attr ($ commenter [‘comment_author_email’]). ‘" size ="30"’. $ Aria_req. ‘/ Gt; lt; / pgt;’   ‘Lt; input id ="url" name ="url" placeholder ="Адреса блогу (якщо є)" type ="text" value ="’. esc_attr ($ commenter [‘comment_author_url’]). ‘" size ="30" / Gt; lt; / pgt; ‘

Видаляти же будемо рядки:

‘Lt; p class ="comment-form-author"gt; ‘ . ‘Lt; label for ="author"gt; ‘ . __ (‘Name’). ‘Lt; / labelgt; ‘. ($ Req? ‘Lt; span class ="required"gt; * lt; / spangt; ‘ : ») ‘Lt; p class ="comment-form-email"gt; lt; label for ="email"gt; ‘ . __ (‘Email’). ‘Lt; / labelgt; ‘. ($ Req? ‘Lt; span class ="required"gt; * lt; / spangt; ‘ : ») ‘Lt; p class ="comment-form-url"gt; lt; label for ="url"gt; ‘ . __ (‘Website’). ‘Lt; / labelgt;’

Вони відповідають за виведення підписів над полями.

В результаті ВСІХ цих маніпуляцій, отримуємо наступне:

$ Fields = array (‘author’ = gt; ‘lt; input id ="author" name ="author" placeholder ="Ім’я" type ="text" value ="’. esc_attr ($ commenter [‘comment_author’]). ‘" size ="30"’. $ Aria_req. ‘/ Gt; lt; / pgt;’, ‘email’ = gt; ‘Lt; input id ="email" name ="email" placeholder ="Електропошта" type ="text" value ="’. esc_attr ($ commenter [‘comment_author_email’]). ‘" size ="30"’. $ Aria_req. ‘/ Gt; lt; / pgt;’, ‘url’ = gt; ‘Lt; input id ="url" name ="url" placeholder ="Адреса блогу (якщо є)" type ="text" value ="’. esc_attr ($ commenter [‘comment_author_url’]). ‘" size ="30" / Gt; lt; / pgt; ‘,);

Залишається тільки видалити дурну підказку «Ваш e-mail не буде опублікований. Обов’язкові поля позначені * ». Для цього видаляємо рядок (приблизно 1537):

‘Comment_notes_before’ = gt; ‘Lt; p class ="comment-notes"gt; ‘ . __ (‘Your email address will not be published.’). ($ Req? $ Required_text: »). ‘Lt; / pgt;’,

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

Наостанок хотілося б поділитися способом, за допомогою якого я шукав де, в якому файлі і на який сходинці потрібно вносити зміни. Перед цим я, природно, намагався гуглити, але таких корисних дрібниць ніде не знайти. А може я погано шукав, це вже не важливо Змінити форму коментування WordPress

Тепер, якщо я хочу щось змінити, то йду в файл русифікації, який розташований за адресою wp-content / languages ​​/ ru_RU.po і шукаю там текст, який мені потрібен. Наприклад, «Ваш e-mail не буде опублікований. Обов’язкові поля позначені * ». Знаходимо потрібний текст і бачимо, що це переклад 1537й рядки у файлі #: wp-includes / comment-template.php: 1537. Готово, ми знайшли що шукали Змінити форму коментування WordPress

Підписуйтесь, коментуйте, буду радий будь-яким адекватним зауваженням. Може-бути я сам чогось не знаю і можна це зробити по-іншому, поділіться своїми міркуваннями.