Різні шаблони для категорій (рубрик) і сторінок записів - Сьомка гавриленко

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

Трошки погуглити я легко знайшов рішення цієї задачі. Просто написати відповідь на тому форумі не є добре, я вирішив написати повну статтю про це і показати її вам.

ієрархія шаблонів

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

category - slug. php -> category - id. php -> category. php -> archive. php -> index. php

Спочатку WordPress намагається відкрити шаблон, специфічний для даної рубрики, використовуючи її рядок-ідентифікатор (slug). Наприклад, для рубрики 'Дизайн' з рядком-ідентифікатором 'design' індивідуальний шаблон повинен перебувати в файлі category-design.php. Якщо шаблон виду category-slug.php не знайдений, наступна спроба - відкриття шаблону з числовим ідентифікатором рубрики, наприклад category-6.php. Потім відбувається спроба відкрити загальний шаблон для всіх рубрик - category.php. Якщо ж і він відсутній - задіюється загальний шаблон архівів, тобто archive.php. І нарешті, коли жоден з них не виявлено, для відображення рубрики використовується index.php.

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

  1. Створити файл шаблону і назвати його «single-slug.php» або «single-id.php» slug і id це ярлик і ідентифікатор поста;
  2. Зробити копію файлу «single.php» і назвати її, наприклад, «single-default.php» тим самим ми розмежуємо всі пости по шаблонах для зручності.
  3. Відкрити файл «single.php», видалити весь вміст і вставити наступний код:

Коли ви робите окремі шаблон для запису то, на відміну від рубрик, ви можете називати як хочете, крім «single.php».

а третій сингл як підключити? наприклад single-news.php. Скажіть пожалуйстаа

Доброї ночі! Все зрозуміла, але можете ось так зробити?
Ось так названий шаблон Single Template name: single-528 * /
а потрібно Single Post Template name: single-pugovicy * /

Задати по slug, НЕ по ID, вибірку постів на сторінці Тегу Ґудзики

У такій ситуації можна зробити спеціальний page-slug.php для кожної сторінки. я зазвичай роблю так

Схожі статті