WordPress. Описи дочірніх рубрик. Урок 2

20

Від автора: в продовження попереднього уроку ми закінчимо роботу з висновком опису рубрик. У минулому уроці ми отримали всі необхідні для цього дані: змінні, масиви, об’єкти. Тепер же нам залишиться лише працювати з вже наявними даними, виводячи їх в потрібному місці сторінки і використовуючи у перевірках.

Отже, на поточний момент ми виводимо опис тієї категорії, до якої звернулися. Але у даної категорії можуть бути підкатегорії (дочірні категорії), посилання на які та їх описи нам потрібно вивести.

WordPress. Описи дочірніх рубрик. Урок 2WordPress. Описи дочірніх рубрик. Урок 2

Як ви пам’ятаєте, у нас вже є масив об’єктів — $children_categories, в якому і міститься вся необхідна інформація про дочірні категоріях. Все що нам потрібно зробити, це перевірити не порожній даний масив. Якщо у масиві щось є, значить, є і дочірні категорії, які ми і виведемо.

Оскільки ми маємо справу з масивом об’єктів, то будемо для виведення використовувати цикл, в якому і пройдемося по масиву.

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

Також внесемо деякі правки в висновок опису рубрики вище. Справа в тому, що якщо в рубриці багато статей, то тоді почне працювати посторінкова навігація. У цьому випадку опис буде виводитися на кожну зі сторінок посторінкової навігації. Можливо, комусь цей момент не дуже подобається, і тому внесемо невеличку правку в умова виведення опису. Раніше опис виводилося в тому випадку, якщо воно, власне, є. Тепер же ми також будемо перевіряти, на якій сторінці ми знаходимося і, якщо це не перша сторінка, тоді опис виводитися не буде. Відповідно, вище також отримаємо номер сторінки.

Отже, тепер код шаблону category.php буде таким:

description && !$page): // якщо є опис рубрики ?>

name; ?>

description ); ?>

cat_ID ); ?>

Залишилося лише прибрати висновок довгих описів з атрибута title рубрик. Для цього у файлі функцій додамо кілька рядків коду:

add_filter(«wp_list_categories», «remove_title»);
function remove_title($str){
$str = preg_replace(‘#title=»[^»]+»#’, ‘title=»»‘, $str);
return $str;
}

Ось, власне, і все. Ми впоралися з усіма завданнями, поставленими парою уроків раніше. На цьому я з вами прощаюся. До нових зустрічей. Удачі!