Кастомные записи и их шаблоны

Простой путь через категории

Самым простым способом организации страниц сущностей является, создание сущностей на категориях.

Например, если нам нужны такие сущности как:
товары, записи блога, баннеры, сотрудники, торговая сеть.

То вы буквально создаёте их на верхнем уровне рубрик, а их категории делаете подкатегориями.
Структура будет выглядеть так:

товары
    бургеры
    пиццы
    роллы
    шаурма
    напитки
блог
    наша кухня
    анонсы событий
баннеры
    на главную
    галерея
сотрудники (для вывода на страницах)
    повары
    менеджеры
    кассиры
торговая сеть
    рестораны
    склады
    пункты доставки

А далее под каждую категорию создаёте шаблон
Это можно сделать как по id: category-5.php
так и по ярлыку категории: category-catalog.php или category-blog.php

Вопрос а как организовывать шаблон страницы, где нужно вывести по несколько элементов из разных категорий сгруппированными по категориям? Например на главной странице. В этом вам поможет один из запросов:

во-первых, проверьте содержимое переменной $wp_query. Может быть там уже содержится нужная вам информация.

pre_get_posts() – изменяет основной цикл до его выполнения.

get_posts() очень похож по использованию и принимает одни и те же аргументы (с некоторыми нюансами, такими как разные значения по умолчанию), но возвращает массив сообщений, не изменяет глобальные переменные и безопасен для использования в любом месте.

Публикация из рубрики на основе WP_Query.

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

Вам нужно будет добавить следующий код в шаблоны, где вы хотите отображать последние посты из определенной категории.

<? $catquery = new WP_Query( 'cat=61&posts_per_page=5' ); ?>
<ul>

    <? while($catquery->have_posts()) {
        $catquery->the_post(); ?>
        <li><a href="<?php the_permalink() ?>" rel="bookmark"><? the_title(); ?></a></li>
    <? }
    wp_reset_postdata();
?>
</ul>

Первая строка этого кода создает новый запрос WordPress с определенным идентификатором категории (cat=61) и ограничивает вывод 5 постами (параметр posts_per_page). Вам нужно заменить его собственным идентификатором категории. Он отображает только заголовок записи в списке.

Вы можете изменить его, чтобы отобразить полный контент, добавив следующий код:

<?php $catquery = new WP_Query( 'cat=61&posts_per_page=5' ); ?>
<ul>
    <?php while($catquery->have_posts()) {
        $catquery->the_post(); ?>
    <li>
        <h3>
            <a href="<?php the_permalink() ?>" rel="bookmark"><?php the_title(); ?></a>
        </h3>
        <ul>
            <li><?php the_content(); ?></li>
        </ul>
    </li>
    <? } ?>
</ul>
<?php wp_reset_postdata(); ?>

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *