X
  • Дизайн та розробка сайту
  • Дизайн і створення сайтів. Розробка тем для WordPress. Створення Landing Page.
  • office@gnatkovsky.com.ua
  • @vgnat
  • Написати мені
Замовити послугу

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

Приклад
  • 2024-10-06
  • 1973 переглядів

  • Дизайн та розробка сайту

Доброго вам дня

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

Как добавить визуальный редактор в описание рубрик и меток в WordPress

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

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

Візуальний редактор буде саме на сторінці РЕДАГУВАННЯ таксономій. При створенні нової буде класичне поле. Тому створили рубрику, мітку і тд, потім перейшли в її редагування і вже там опис наповнюєте кодом, зображеннями і тд.

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

Щоб до звичайного поля опису додати візуальний редактор, потрібно зробити кілька кроків. Для початку, потрібно просто дозволити додавання HTML тегів в поле, тобто дозволити додавання коду. Щоб це зробити, потрібно додати невеликий код в файл функцій вашої теми - function.php . Додаєте в самий кінець перед закриваючим тегом PHP ?> . Якщо його немає, то просто в самий кінець.

Перед внесенням змін в function.php , обов'язково збережіть його копію, щоб в подальшому, у випадку помилки, повернути все як було. Так само, можете використовувати дочірню тему. Якщо ви не знаєте що це таке, то ознайомтеся зі статтею - Дочірні теми WordPress.

remove_filter( 'pre_term_description', 'wp_filter_kses' );
remove_filter( 'term_description', 'wp_kses_data' );

Тільки ці дві строчки коду, вже зробили нам найголовніше. Тепер треба додати візуальний редактор, старий добрий TinyMCE до поля опису рубрик. Для початку потрібно приховати старе поле. На жаль, воно не підходить нам, до нього не вийде прикрутити редактор.

Після попередніх двох рядків, додаємо наступну функцію і вішаємо її на хук.


/** ВИВОДИМО ТЕКСТОВИЙ РЕДАКТОР в редакторі категорії **/
function my_remove_category_description(){
?>
<script type="text/javascript">
jQuery(function($) {
$('textarea#description').closest('tr.form-field').remove();
});
</script>
<?php
}
add_action('category_edit_form_fields','my_remove_category_description');

my_remove_category_description() - це функція, вона просто виводить в адмінці скрипт, який приховує старе поле Опис . Після, ми вішаємо її на подію category_edit_form_fields. Таким чином, старе поле пропаде тільки в редагуванні опису Рубрики.

Якщо вам треба так само додати свій опис до мітки, то подія буде таке:

add_action('post_tag_edit_form_fields','my_remove_category_description');

Взагалі, суть події - {taxonomy}_edit_form_fields, в тому, що замість {taxonomy}, вказуєте потрібну таксономию:

  • category - для категорій
  • post_tag - для міток
  • person - якщо ви, наприклад, створили свою таксономію - Персони і назвали її person. Детальніше про це в статті - Створення своєї таксономії у WordPress.

З цим розібралися, далі нам потрібно вже вивести наш візуальний редактор, щоб зручно редагувати текст, додавати картинки і тд для опису Рубрики. Для цього далі додаємо ще одну функцію і знову вішаємо її на той самий хук - {taxonomy}_edit_form_fields.

function edit_my_category_description ($container = ''){
$content = is_object($container) && isset($container->description) ? html_entity_decode($container->description) : '';
$editor_id = 'tag_description';
$settings = 'description';
?>
<tr class="form-field term-description-wrap">
<th scope="row" valign="top"><label for="description">Опис</label></th>
<td><?php wp_editor($content, $editor_id, array(
'textarea_name' => $settings,
'editor_css' => '<style>.html-active .wp-editor-area{border:0;}</style>',
)); ?><br>
</td>
</tr>
<?php
}
//для категорій
add_action('category_edit_form_fields', 'edit_my_category_description');

//для міток
add_action('post_tag_edit_form_fields', 'edit_my_category_description');

Функція проста, особливо розписувати тут нічого. Змінними задаємо ID для поля редактора, ім'я поля, виводимо редактор в табличній ячейці, щоб все в адмінці було красиво. Ну і в кінці вішаємо на хук. Я виділив хук для рубрик та міток. Якщо якийсь з них не потрібен не додавайте його.

В принципі, це все. Ще можна додавати свої поля, додаткові на сторінці редагування таксономій, але про це в наступній статті.

На цьому все, спасибі за увагу. 🙂

Якщо Вам була корисна моя праця, можете фінансово підтримати сайт або відключити блокувальник реклами, що займе 2 хвилини :)

Хочу підтримати фінансово Хочу відключити блокувальник

Оцініть статтю
  1. 5
  2. 4
  3. 3
  4. 2
  5. 1
Проголосовало: 4, в среднем: 5 из 5
Читайте також

Deprecated: Функція WP_Query викликана з аргументом, який вважається застарілим з версії 3.1.0! Вираз caller_get_posts застарілий. Використовуйте ignore_sticky_posts. in /var/www/vhosts/gnatkovsky.com.ua/gnatkovsky.com.ua/public/wp-includes/functions.php on line 6078