Поддержка Проблемы и решения категория в отдельном файле шаблона

  • Хочу вывести рубрику в отдельном файле шаблона, смотрел кодекс по этой теме но ничего не понял, может кто подсказать код вывода рубрики по определенному ID?

Просмотр 15 ответов — с 1 по 15 (всего 20)
  • Это интересно но не то, иерархия понятна мне, а вот что именно в файл шаблона должно писаться, форма шаблона у меня есть. но нет центральной части где новости выводятся данной категории, т.е. самих скриптов на вывод
    постов по ID категории.

    нет центральной части где новости выводятся данной категории, т.е. самих скриптов на вывод
    постов по ID категории.

    А сам loop из любого шаблона темы возьмите, index.php например. А вот вот детали как вывести новости из данной категории вам не нужны, это все автоматически делается. Запрос формируется из url. Зная иерархию шаблонов вы можете изменить вид любого цикла, а сам базовый цикл везде одинаковый — http://codex.wordpress.org/%D0%A6%D0%B8%D0%BA%D0%BB_WordPress

    в том то и дело что без указания категории не хочет выводить,
    назвал файл шаблона category_12.php, но не формирует по url,
    только после того как прописал <?php query_posts('cat=12') ?>
    перед <?php if (have_posts()) : ?> стал выводить новости. но полные,
    тег <!—more—> игнорируется

    category_12.php

    Я же писал уже
    category-12.php (дефис, а не подчеркивание)

    извиняюсь опечатался category-12.php файл
    вот код без оформления

    <?php query_posts('cat=12') ?>
    <?php if (have_posts()) : ?>
        <?php while (have_posts()) : the_post(); ?>
          <div class="post" id="post-<?php the_ID(); ?>">
            <h2><a href="<?php the_permalink() ?>" rel="bookmark" title="Постоянная ссылка: <?php the_title_attribute(); ?>"><?php the_title(); ?></a></h2>
            <small><?php the_time('j F Y') ?> <!-- Автор: <?php the_author() ?> --></small>
    
            <div class="entry">
              <?php the_content('Читать полностью &raquo;'); ?>
            </div>
    
            <p class="postmetadata"><?php the_tags('Метки: ', ', ', '<br />'); ?> Рубрика: <?php the_category(', ') ?> | <?php edit_post_link('Править', '', ' | '); ?>  <?php comments_popup_link('Отзывов нет »', '1 отзыв »', 'Отзывов (%) »'); ?></p>
          </div>
    
        <?php endwhile; ?>
        <div class="navigation">
          <div class="alignleft"><?php next_posts_link('&laquo; Предыдущая страница') ?></div>
          <div class="alignright"><?php previous_posts_link('Следующая страница &raquo;') ?></div>
        </div>
      <?php else : ?>
        <h2 class="center">Не найдено</h2>
        <p class="center">К сожалению, по вашему запросу ничего не найдено.</p>
      <?php endif; ?>

    может тут заковырка какая?

    Зачем такие страдания? Создаете файл category-12.php в него банально! копируете содержимое из index.php (или category.php, или archive.php)
    После этого, по клику на категории 12 — для него загрузится шаблон из файла category-12.php

    этот код я взял из index.php шаблона моей темы и закинул в файл category-12.php, по категории 12 кликал в виджете неоднократно, там ?cat=12 url,
    все норм показывает, а вот когда в меню страницу новости кликаю там url уже страницы ?page_id=271 , было пусто, а щас как <?php query_posts('cat=12') ?> прописал полностью посты этой категории выводит.
    Или я чего-то не догнал!

    Так если это страница, тогда шаблон должен быть page-271.php
    Вы же сами говорили, что с иерархией разобрались 🙂
    =====
    Лучше вообще не смешивать предназначение шаблонов для постов с категориями со страницами. ИМхО

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

    чтобы просто отделить, в индекс пхп нужен запрос типа query_posts( 'cat=-12' ); — все записи, кроме записей cat 12 примеры, а в меню кнопка с href=»http://site/?cat=12&#8243; — откроется страница архива cat 12
    и никаких специальных шаблонов…

    А что мешает ссылку на категорию 12 сделать с главной?

    чтобы просто отделить,

    уже все отделено с пом плагина simply_exclude, мне нужно наоборот вывести эту категорию но не на главную
    Что означает этот запрос?
    query_posts( array ( 'category_name' => 'The Category Name', 'posts_per_page' => -1 ) );
    просто ссылки в меню генерируются автоматом, без вмешательства, вручную если поставить все съедит, т.е. ссылка берется из списка страниц генерируемого движком. где править это я не знаю, но это не в теме

    А что мешает ссылку на категорию 12 сделать с главной?

    с главной уже доска объявлений сделана, там норм все. 2 раза с нее не сделаешь

    вижу несколько вариантов:
    1) в админке, в настройках меню добавить пункт меню для вывода категории 12, сделать это можно или вручную — добавив Custom Link на страницу категории (site/?cat=12), или выбрав категорию из списка.. Название пункта меню можно там же отредактировать. При этом нужно создать шаблон для вывода категории (category-12.php).
    2) ничего не менять в меню, но создать шаблон для страницы Новости (page-271.php), а в нем с помощью query_post(‘cat=12’) вывести посты для этой категории…
    3) самый сложный — в файле page.php использовать is_page(271) для построения логики.
    Ну и не забываем про использование в указанных шаблонах функций the_excerpt() для вывода анонса или the_content(‘more…’) для вывода текста до тега <!—more—>

    Можно подробнее про третий способ?
    я вторым способом временно делал, но <!—more—> не работает, а the_excerpt() не хочу ставить т.к. картинки все с постах скрывает.
    хотелось бы узнать о is_page(271) думаю самый оптимальный способ

Просмотр 15 ответов — с 1 по 15 (всего 20)
  • Тема «категория в отдельном файле шаблона» закрыта для новых ответов.