Как для каждой категории сделать картинку

Подскажите, пожалуйста, как можно для каждой категории сделать индивидуальное оформление: картинка, описание и вывести списком опубликованные в категории новости? Описание категории снизу.
На данный момент главную страницу я оформил этим методом: https://n-wp.ru/11585

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

  1. tiaurus

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

    Это делается с помощью нескольких циклов, ограниченных выводом постов из определенной категории, и использованием условий is_category, ну и оформлением в css. Просто? Не совсем, нужны определенные знания. Решайте задачу по шагам:
    1. Создайте отдельный шаблон для страницы, на которой это все будет отображаться.
    2. Добавьте в него цикл вывода какой-нибудь одной категории, с названием этой категории, описанием и картинкой.
    3. Добавьте еще один цикл вывода постов из другой категории.

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

    В помощь:
    Вывод определенных категорий в три колонки на главной
    — Как вывести список предыдущих постов из категории без плагинов
    Как вывести список постов в каждой категории
    — Как задать постам разных категорий индивидуальное оформление

    Ответить
    1. Morgan автор

      На работе поручили задание сделать копию :(

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

      Ответить
      1. tiaurus

        Цикл вывода постов из определенной категории:

        <?php query_posts('cat=345&posts_per_page=10&caller_get_posts=1'); ?>
           <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
             <h1><a title="<?php the_title(); ?>" href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h1>
               <?php the_excerpt(); ?>
             <?php endwhile; else: ?>
        <?php endif; wp_reset_query(); ?>
        

        345 – это ID категории
        10 – количество выводимых записей
        1 – выводить, начиная с первой

        Хотите вывести одну запись из категории ID=345 с определенным оформлением?

        <?php query_posts('cat=345&posts_per_page=1&caller_get_posts=1'); ?>
           <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
             <h1><a title="<?php the_title(); ?>" href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h1>
               <?php the_excerpt(); ?>
             <?php endwhile; else: ?>
        <?php endif; wp_reset_query(); ?>
        

        Хотите вывести еще три записи из этой же категории, пропустив первую (она уже выведена)?

        <?php query_posts('cat=345&posts_per_page=3&caller_get_posts=1&offset=1'); ?>
           <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
             <h1><a title="<?php the_title(); ?>" href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h1>
               <?php the_excerpt(); ?>
             <?php endwhile; else: ?>
        <?php endif; wp_reset_query(); ?>
        

        Пиво не пью.

        Ответить
        1. Morgan автор

          Почему то правило «1 – выводить, начиная с первой», не срабатывает корректно…

          вот пример:

                                 <ul>
                                      <?php query_posts('cat=3&posts_per_page=4&caller_get_posts=1'); ?>
                                          <?php if (have_posts()) : while (have_posts()) : the_post(); ?>
                                                  <li><a title="<?php the_title(); ?>" href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li>
                                              <?php endwhile;
                                          else:
                                              ?>
                                          <?php endif; wp_reset_query(); ?>                             
                                  </ul>
                                  <ul>
                                      <?php query_posts('cat=3&posts_per_page=2&caller_get_posts=3'); ?>
                                          <?php if (have_posts()) : while (have_posts()) : the_post(); ?>
                                                  <li><a title="<?php the_title(); ?>" href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li>
                                              <?php endwhile;
                                          else:
                                              ?>
                                          <?php endif; wp_reset_query(); ?>
                                  </ul>

          я хочу из одной и той же категории вывести посты в две колонки

          Ответить
          1. tiaurus

            Изучите внимательно код, приведенный в комментарии выше, или просто скопируйте его себе, заменив ID категории.

            Ответить
            1. Morgan автор

              Прочитал, спасибо! Я понял

              Ответить
  2. Ge Lnx

    Спасибо) Но с таким кодом у меня выводится только 4 записи и все) как вывести подобным образом все записи категории, ведь публикаций в рубрике сотни и будет использована навигация ограничивающая 12 записи на одной странице)

    Ответить
    1. Morgan автор

      У меня был шаблон достаточно емкий. Обращений к БД 38-52, вес 38 МБ. Полет нормальный. Внимательно посмотрите, что написал Тиа, чувак тру.

      Ответить
  3. Chipsed

    Вот. Спасибо все работает отлично.

    Ответить