Наша взаимовыгодная связь https://banwar.org/
У Вордпресс можна зробити шаблон для всіх записів якоїсь певної рубрики звичним способом. Сьогодні я покажу, як це обійти.
Я вчора розповідав яким чином в WordPress можна зробити різну довжину анонсів записи в залежності від присвоєної записи рубрики . Заодно нагадав, що в WordPress є прекрасний внутрішній механізм шаблонів. Завдяки якому швидко і легко створюються індивідуальні шаблони для будь-яких типів даних і таксономій. У тому числі і для архівів рубрик, про яких і йшла мова.
Один уважний читач зовсім вірно помітив, що в WordPress можна зробити шаблон для всіх записів рубрики. Мається на увазі single.php. Так, дійсно, звичним способом це зробити не вийде.
У single.php можна задати індивідуальний шаблон лише для конкретних записів. Наприклад, зверстати його заздалегідь, призначати кожен раз при публікації. Що стосується далеко не у всіх випадках. З недавніх пір, а саме починаючи з WordPress версії 4.4, з'явився вбудований механізм шаблонів записів такого виду: single- {post-type} - {slug} .php. Де {post-type} - тип даних, а {slug} - коротке ім'я записи. Тобто для стандартних записів, потрібно вказувати тип даних post, для кастомних (CPT) відповідні їм імена. Ну, а {slug}, нагадаю, це коротке ім'я записи, яке вказується в URL записи.
Так як же в WordPress створити шаблон для записів конкретної категорії?
Насправді все дуже просто. Для цього можна скористатися невеликим хуком, який традиційно розміщуємо в файлі functions.php активної теми або у функціональному плагін сайту.
add_filter ( 'single_template', create_function ( '$ the_template', 'foreach ((array) get_the_category () as $ cat) {if (file_exists (TEMPLATEPATH. "/single-{$cat->slug}.php")) return TEMPLATEPATH. "/single-{$cat->slug}.php";} return $ the_template; '));
В результаті, ми зможемо створювати шаблон для записів рубрик наступним чином: single- {cat-slug} .php. Де {cat-slug} - коротке ім'я рубрики.
І все.
Так як же в WordPress створити шаблон для записів конкретної категорії?