Создаем шаблоны рубрик в WordPress. Часть 2

Продолжение статьи Создаем шаблоны рубрик в WordPress. Часть 1

Теперь давайте представим, что у вас есть рубрика с именем “Design” с category-slug “design” и вы хотите вывести эту рубрику иначе, нежели остальные. Для этого вам нужно создать шаблон для определенной категории. Идем в Внешний вид » Редактор. Из списка файла темы справа выбираем и кликаем на category.php, если же у вас нет файла category.php, тогда ищем и выбираем archive.php.

Теперь копируем все содержимое category.php и вставляем его в текстовый редактор. Сохраните файл с именем category-design.php.

Подключитесь к своему сайту с помощью FTP клиента. Переходим в /wp-content/themes/ваша-текущая-тема/ и загружаем файл category-design.php в нее. Теперь все изменения, вносимые в этот шаблон будут отображаться на определенной странице указанной нами рубрики на сайте. Используя этот способ вы можете создавать шаблоны для любой категории. Просто используйте category-{category-slug}.php для имени файла. Узнать slug рубрики можно, если перейти в раздел Рубрики в административной панели WordPress.

Вот пример шаблона category-slug.php. Мы использовали тот же шаблон, что и для category.php с небольшими изменениями. В виду того, что мы уже знаем рубрику, к которой мы будем его применять, мы можем добавить заголовок, описание и любые другие детали вручную. Также обратите внимание на то, что мы использовали

<?php the_excerpt(); ?>

вместо

<?php the_content(); ?>

Посмотрите сами, почему мы решили использовать выдержку из записи, нежели полную запись.

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

get_header(); ?> // выбираем шаблон хидера

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

// проверяем, есть ли записи для отображения
<?php if ( have_posts() ) : ?>

<header class="archive-header">
// В виду того, что этот шаблон будет использоваться только для рубрики Design
// мы можем прям здесь добавить заголовок категории и ее описание.
// или даже добавить изображение или изменить страницу полностью.

<h1 class="archive-title">Design Articles</h1>
<div class="archive-meta">
Статьи и обучающие материалы о дизайне и web.
</div>
</header>

<?php

// Цикл
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; // Конец цикла

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

<?php endif; ?>
</div>
</section>

//выбираем шаблоны сайдбара и футера
<?php get_sidebar(); ?>
<?php get_footer(); ?>

Если вы не хотите использовать шаблон category-slug (подразумевает Design в имени файла), то можете использовать шаблон category-id для создания шаблона для определенного ID рубрики.

Используем условные теги для рубрики

При создании шаблонов для своей темы задайте себе вопрос, действительно ли они вам нужны (отдельные для рубрики, архива и т.д.)? В некоторых случаях изменения, которые необходимо внести, не слишком сложные и могут быть реализованы использованием условных тегов внутри общего шаблона, типа category.php или даже archive.php.

В WordPress есть встроенная функция множества условных тегов, которые авторы тем могут использовать в своих шаблонах. Один из них — is_category(). Применяя его, вы можете изменять ваши шаблоны для вывода различного рода информации, если условие выполняется. Например, давайте предположим, что у вас есть рубрика для избранных записей с названием «Избранное». Вам нужно вывести какую-то дополнительную информацию в архиве рубрики для этой конкретной категории. Для этого нужно добавить следующий код в файл category.php сразу после

<?php if ( have_posts() ) : ?>

.

Код:

<header class="archive-header">

<?php if(is_category( 'Избранное' )) : ?>
	<h1 class="archive-title">Featured Articles:</h1>
<?php  else: ?>
	<h1 class="archive-title">Архив рубрики: <?php single_cat_title(); ?> </h1>
<?php endif; ?>

</header>

Изучение разработки шаблонов WordPress — это не то, что можно постичь за один вечер. Но вы можете начать обучение, настраивая ваши шаблоны и внося небольшие изменения. Это довольно рисковано, и вы наверняка что-то сломаете, однако радость от итогового результата будет вас мотивировать.

Надеемся, что эта статья помогла вам в создании шаблонов для рубрик в WordPress. Если у вас есть какие-либо вопросы по модификации шаблонов рубрик, задавайте их в комментариях.

VN:F [1.9.22_1171]
Rating: 2.0/5 (4 votes cast)

Об авторе ADv

Занимаюсь разработкой сайтов и магазинов на WordPress. Оказываю платные помощь и консультации. Skype: advokat_b
  • 123456

    Добрый день. У меня в теме вывод категорий и архивов производится через файл loop.php Есть два шаблона записей: стандартный single.php и post.php
    В одной рубрике используется два вида этих шаблонов. Как прописать в файле loop отображение записей в архиве и категории через функцию с условиями использования шаблонов. Если single.php — то отображается как обычно, а если в записи используется шаблон post.php, то в списке данная запись по другому. Дело в том, что в шаблоне post.php используются произвольные поля (соответственно они не входят в php the_content(), а нужно чтобы они выводились в списке архивов и категорий а не текст php the_content()

Scroll To Top