Функція category_description()
Часто при розробці сайтів на WordPress потрібно отримати опис категорії, це можливо зробити за допомогою функціїї category_description ().
Отримує опис категорії, яке вказується на сторінці редагування публікацій в адмін-панелі (Публікації> категорії).
Якщо category_description () використовується на сторінці архівів, відмінної від category.php, то перед тим як використовувати функцію потрібно перевірити, що генерується сторінка категорій, а не сторінка міток, авторів, дат і т.д .. Зробити це можна умовним тегом is_category ().
category_description () працює на основі term_description ().
Повертає:
текст, опис категорії.
Використання
1 |
<?php echo category_description ($ category_id); ?> |
$ category_id (число)
ID категорії, опис якої потрібно отримати.
За замовчуванням: поточна категорія (в запиті)
Приклад
1. Приклад використання.
Виведемо на екран опис категорії 3 (id категорії), використовуючи оператор echo. echo потрібен для виведення опису категорії на екран, так як функція просто повертає опис і нічого не виводить.
1 |
<div> <? php echo category_description (3); ?></ div> |
В результаті, отримаємо опис категорії 3.
Важливо: якщо у категорії немає опису, функція повертає html тег br.
2. Виведемо на екран опис категорії (рубрики), використовуючи лозунг (альтернативну назву категорії), а не ID як у минулому прикладі. Для цього отримаємо ID за допомогою функції get_category_by_slug ().
1 |
<? php echo category_description (get_category_by_slug ('category-slug') -> term_id); ?> |
Примітка: це скоріше наочний приклад і використовувати його я не рекомендую, тому, що немає необхідності отримувати всі дані категорії, лише для того, щоб отримати ID категорії.
Приклад вище можна так само замінити на цей, теж буде отримано опис категорії за лозунгом:
1 |
<? php echo get_category_by_slug ('category-slug') -> description; ?> |
3. Очистимо опис категорії при виведенні, через фільтр term_description.
Припустимо у нас в описі категорії використовується шоткод [image = / посилання_на_картинку] ми використовуємо цей шоткод в інших місцях, але коли ми виводимо опис категорії, він нам не потрібен. Щоб його забрати скористаємося фільтром:
1 2 3 4 |
add_filter ('term_description', 'clear_term_description_image_shortcode'); function clear_term_description_image_shortcode ($ value) { return preg_replace ('@ [image = [^]] *] @', '', $ value); } |