Більше результатів...

Загальні селектори
Тільки точні збіги
Шукати у заголовках
Шукати у контенті
Вибір типів постів
Фільтрувати за категоріями
FAQ
Hostenko
Натхнення
Відео уроки
Новини
Плагіни
теми
Уроки
Хакі

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

Дивіться також:

WordPress та шаблон ієрархії для сторінок рубрик

WordPress – потужна система керування шаблонами. Тему WordPress можна створити на основі різних шаблонів для різних секцій. WordPress використовує певну ієрархію для відображення сторінок на сайті. Для показу рубрик використовується наступний порядок файлів для шаблонів:

inet.ws - Powerful VPS Hosting в США, Canada, UK та DE!

category-slug.phpcategory-id.phpcategory.phparchive.phpindex.php

Для початку у WordPress відбувається автоматичний пошук шаблону для кожної конкретної рубрики, наприклад, category-design.php та шаблон для неї буде використовуватись для відображення рубрики "Дизайн".

Якщо тег рубрики не знайдено, тоді WordPress відбувається пошук значення id для рубрики, наприклад категорія-6.php. Потім відбувається пошук загальної рубрики шаблонів у файлі category.php. Якщо такого шаблону немає, відбувається пошук загального архівного шаблону, наприклад archive.php. І нарешті, використовуватиметься шаблон index.php для показу рубрики

Створюємо шаблон рубрик у WordPress

Давайте спершу подивимося на типовий шаблон у файлі category.php:

<?php
/**
* A Simple Category Template
*/

get_header(); ?> // fetch header template

<section id="primary" class="site-content">
<div id="content" role="main">

// Check if there are any posts to display
<?php if ( have_posts() ) : ?>

<header class="archive-header">
<h1 class="archive-title">Category: <?php single_cat_title( '', false ); ?></h1>

// Display optional category description
<?php if ( category_description() ) : 
<div class="archive-meta"><?php echo category_description(); ?></div>
<?php endif; ?>
</header>

<?php

// The Loop
while ( have_posts() ) : the_post();
<h2><a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title_attribute(); ?>"><?php the_title(); ?></a></h2>
<small><?php the_time('F jS, Y') ?> by <?php the_author_posts_link() ?></small>

<div class="entry">
<?php the_content(); ?>

 <p class="postmetadata"><?php
  comments_popup_link( 'No comments yet', '1 comment', '% comments', 'comments-link', 'Comments closed');
?></p>
</div>

<?php endwhile; // End Loop

else: ?>
<p>Sorry, no posts matched your criteria.</p>

// End the first if
<?php endif; ?>
</div>
</section>

//fetch sidebar and footer templates
<?php get_sidebar(); ?>
<?php get_footer(); ?>

Припустимо, що у нас є рубрикаДизайн" з міткою "дизайн", і ця рубрика повинна відрізнятися від інших. Для цієї мети треба створити шаблон. Ідемо в Зовнішній вигляд → Редактор. Вибираємо з усіх файлів файл category.php, а якщо його немає, то переходимо до файлу archive.php. Якщо жодного з шаблонних файлів немає, тоді ви, швидше за все, використовуєте WordPress Theme Framework, і цей практичний посібник вам не допоможе.

Якщо ви знайшли один із цих файлів, скопіюйте вміст category.php і вставте в редактор типу Notepad++. Збережіть новий файл як category-design.php.

Підключіться до сайту за допомогою FTP-клієнта. Перейдіть до /wp-content/themes/ваша-поточна-тема/ та завантажте файл category-design.php у папку з темою. Так можна створити стільки шаблонів для рубрик, скільки вам потрібно. Достатньо до кожного нового файлу додавати назву category-{category-slug}.php.

Розглянемо код такої рубрики на прикладі шаблону виду category-slug.php:

<?php
/**
* A Simple Category Template
*/

get_header(); ?> // fetch header template

<section id="primary" class="site-content">
<div id="content" role="main">

// Check if there are any posts to display
<?php if ( have_posts() ) : ?>

<header class="archive-header">
// Since this template will only be used for Design category
// we can add category title and description manually.
// or even add images or change the layout

<h1 class="archive-title">Design Articles</h1>
<div class="archive-meta">
Articles and tutorials about design and the web.
</div>
</header>

<?php

// The Loop
while ( have_posts() ) : the_post();
<h2><a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title_attribute(); ?>"><?php the_title(); ?></a></h2>
<small><?php the_time('F jS, Y') ?> by <?php the_author_posts_link() ?></small>

<div class="entry">
<?php the_excerpt(); ?>

 <p class="postmetadata"><?php
  comments_popup_link( 'No comments yet', '1 comment', '% comments', 'comments-link', 'Comments closed');
?></p>
</div>

<?php endwhile; // End Loop

else: ?>
<p>Sorry, no posts matched your criteria.</p>

// End the first if
<?php endif; ?>
</div>
</section>

//fetch sidebar and footer templates
<?php get_sidebar(); ?>
<?php get_footer(); ?>

Для спрощення роботи можна використовувати ще й шаблон із використанням ID конкретної рубрики.

Використання умовних тегів для рубрики

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

Також у WordPress є підтримка багатьох умовних тегів, які автори теми самі використовують та пропонують використовувати іншим у нових шаблонах. Один із таких умовних тегів — це is_category (). Використання такого умовного тега допомагає змінити виведення контенту залежно від вибраних умов.

Наприклад, вам потрібно створити рубрику для виділених постів під назвою "ДокладнішеТепер можна додати інформацію до конкретної архівної сторінки для конкретної рубрики. Для цієї мети додайте наступний код у файл category.php відразу після

<header class="archive-header">

<?php if(is_category( 'Featured' )) : ?>
	<h1 class="archive-title">Featured Articles:</h1>
<?php  else: ?>
	<h1 class="archive-title">Category Archive: <?php single_cat_title(); ?> </h1>
<?php endif; ?>

</header>

Висновок

Вивчення розробки під WordPress не те, з чим можна впоратися за пару вечорів. Але, налаштовувати і покращувати шаблони можна і власними силами. Так, певний ризик є, але ви навчитеся самостійно покращувати свій сайт, що не може не тішити.

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

Джерело: wpbeginner.com
inet.ws - Powerful VPS Hosting в США, Canada, UK та DE!
Олексій Шевченко
редактор wpcafe
Вивчає сайтобудування з 2008 року. Практикуючий вебмайстер, що спеціалізується на створенні сайтів WordPress. Задати питання Олексію можна на https://profiles.wordpress.org/wpthemeus/

Коментарі до запису: 6

money4honey:

дякую за інфу, корисно

а чи є можливість створити один шаблон відразу для декількох категорій?
щоб не створювати в папці теми купу файлів
категорія-1.php
категорія-2.php
тощо.
тому що мені потрібно оформити так більше 50 рубрик (і тоді вийде доп.50 файлів, що не дуже)

мені потрібно щоб одна окрема категорія та її підкатегорії мали іншу верстку

Вікторія:

таже фігня

артем:

ні. так зробити не можна (

cema93:

можна, можливо! але це далеко не найкращий варіант https://site-style.by/raznye-shablony-dlya-kategorij-i-stranic-zapisej/

Вадим:

Можна зробити в одному файлі category.php. І вже у ньому аналізувати, яка категорія проглядається.

Роман:

Здрастуйте! Чи не можна без анонсу зробити запис (у мене їх 5 штук), щоб він відкривався повним записом, наприклад як сторінка? І як це можна зробити? Дякую!

Додати коментар або відгук