Додаткові дозволені теги в коментарях WordPress

WordPress

Вчора зіштовхнувся з проблемою - коментатор на одному із блогів хотів вставити зображення у свій коментар за допомогою тегу img, а у нього воно ніяк не відображалося. Тому переді мною постало питання - як дозволити користувачам блогу на WordPress вставляти свій html-код у коментарях?

Там на блозі стандартна вордпресівська система коментування, і наскільки мені відомо, вона дозволяє коментаторам використовувати наступні html-теги <a href="" title=""> b> <strong> <i> <em> <blockquote cite=""> <cite> <code> <abbr title=""> <acronym title=""> <del datetime=""> <q cite=""> <strike> і вроді би все. А для виводу зображень застосовується html-код <img src="">, якого немає у наведеному вище списку.

Як виявилося, проблема криється у вордпресівському файлі wp-includes/kses.php, який можна вручну відредагувати та додати необхідні Вам html-теги.

Для цього знайдіть там таку частину коду (у мене він виявився десь на 400-му рядку)

$allowedtags = array(
'a' => array(
'href' => array (),
'title' => array ()),
'abbr' => array(
'title' => array ()),
………

і допишіть в нього свій код по наступному шаблону:

якщо html-тег може мати якісь додаткові атрибути:

'тег' => array(
'атрибут' => array(),
'атрибут' => array ()),

якщо html-тег використовується без атрибутів чи ви не хочете дозволяти їх використання:

'тег' => array(),

Приклад. Мені потрібно було дозволити використання тегу img з атрибутами alt і title. В результаті вийшов такий код:

$allowedtags = array(
'img' => array(
'src' => array(),
'alt' => array (),
'title' => array ()),

'a' => array(
'href' => array (),
'title' => array ()),
………

(До речі, якщо хочете заборонити використання якихось html-тегів, то можна їх видалити з цього списку)

Є ще один спосіб дозволити використання додаткових html-тегів, можливо навіть і кращий від попереднього. Бо якщо Ви відредагуєте вручну файл wp-includes/kses.php – Вам доведеться це робити щоразу після оновлення двигунця WordPress. А можна внести один раз зміни у файл functions.php, який знаходиться в папці із Вашим шаблоном, і більше не повертатися до проблеми. Також можна внести зміни до functions.php через редактор дизайну.

Наприклад, для того щоб дозволити коментаторам блогу додавати свої зображення у коментарях, до файлу functions.php слід додати такий код:

global $allowedtags;
$allowedtags_add = array (
'img' => array(
'src' => array(),
'alt' => array (),
'title' => array ()
),
);
$allowedtags = array_merge ($allowedtags, $allowedtags_add);

Перелік дозволених html-тегів Ви можете розширювати на власний розсуд.