• Доброго всем дня!
    Довольно популярный вопрос, поскольку через консоль это не делается:
    Как сделать, чтобы на главной странице отображалась рубрика?

    Погуглив, я понял, что способов множество, но не совсем понятно в чем разница — может есть какой-то единственно правильный метод?

    Записи у меня разделены по рубрикам. Меню также состоит из рубрик. Не знаю насколько это правильно, но это удобно — написал статью, пометил в каких рубриках она должна отобразиться и вуаля (как правило, это рубрика «Главная» + какая-то тематическая рубрика, но есть исключения). Вот «Главная»-то и нужна мне на главной странице.

    P.S. WordPress 3.2.1, Тема Twenty Ten 1.2

Просмотр 15 ответов — с 1 по 15 (всего 18)
  • Модератор Юрій

    (@yube)

    Простой способ: сделать шаблон home.php путем копирования index.php и в нем перед Циклом вставить строку
    <?php query_posts($query_string.'&cat=N'); ?>
    N — id рубрики «Главная».

    Матчасть:
    http://codex.wordpress.org/%D0%98%D0%B5%D1%80%D0%B0%D1%80%D1%85%D0%B8%D1%8F_%D1%88%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD%D0%BE%D0%B2
    http://codex.wordpress.org/%D0%A6%D0%B8%D0%BA%D0%BB_WordPress
    http://codex.wordpress.org/Function_Reference/query_posts

    Более правильный, т.е. менее ресурсоемкий, метод заключается в модификации запроса к БД перед формированием выборки. Требует знания php и API wordpress, либо навыков поиска нужного плагина среди тысяч ненужных.

    Спасибо! Работает! А как бы сделать, чтобы при этом ещё и описание рубрики показывалось, как при выборе рубрик. «Архив рубрик: бла-бла-бла», — вот эта часть.

    P.S. Потом мне понадобится ещё переместить описания рубрик в отдельный слой, но это, наверное, лучше отдельную тему создать, чтоб всем удобней находить.

    вставьте в нужно вам месте шаблона home.php:
    <?php echo category_description( $category_id ); ?>
    где $category_id — ID вашей категории. не очень универсально, но будет работать.

    <?php echo category_description( $category_id ); ?>

    Что-то никак. 🙁 Категория у меня — 1. Попробовал:
    <?php echo category_description( $1 ); ?>
    <?php echo category_description( $category_1 ); ?>
    <?php echo category_description(‘&cat=1’); ?>

    Ничего не появляется. Вставлял до
    <?php query_posts($query_string.’&cat=1′); ?> и после пробовал..
    А может какая-то внутренняя переадресация у него есть? Типа я выбрал domen.ru, а у него стоит по domen.ru сразу футболить в domen.ru/?cat=1. Нет такого? Хорошо бы, конечно, чтоб domen.ru при этом он показывал в адресной строке, но не принципиально.

    Не работает, увы. Пробовал до вышеописанного кода и после — не появляется описание рубрик.

    P.S. Вчера отписал ответ сюда, а в обсуждении он не появился. Когда авторизирюсь — он есть, в теме 5 постов. Типа отвечено день назад, а если просто гостем захожу, то последний ответ от sorashin’a, в теме 4 поста — странно…

    Сообщения не отображаются! Уже два поста моих после sorashin’a (этот третий) и не отображаются. Видны только мне при авторизации — если зайти неавторизированным, то последний пост от sorashin’a.

    да, что-то странное происходит здесь с сообщениями. и так уже со второй темой у меня. что-то сломалось.

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

    Модератор Юрій

    (@yube)

    что-то странное происходит здесь с сообщениями.

    По какой-то странной логике сообщения помечаются как «спам». Разспамил. Но мне, честно говоря, уже надоело бегать по темам и тыкать «не спам».

    По какой-то странной логике сообщения помечаются как «спам». Разспамил. Но мне, честно говоря, уже надоело бегать по темам и тыкать «не спам».

    кем-то помечаются или автоматически?
    надо сказать это каким-нибудь админам. я не хочу быть спамом)

    Что-то никак. 🙁 Категория у меня — 1. Попробовал:
    <?php echo category_description( $1 ); ?>
    <?php echo category_description( $category_1 ); ?>
    <?php echo category_description(‘&cat=1’); ?>

    не то вы пишете. просто цифра в скобках.
    <?php echo category_description(1); ?>
    а вставить это нужно внутрь цикла, то есть как минимум после:
    <?php if ( have_posts())...

    Модератор Юрій

    (@yube)

    кем-то помечаются или автоматически?

    Я не экстрасенс 🙂 Надеюсь, автомат.

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

    Спасибо! Работает! 🙂 Вот так кусок выглядит в коде:

    <?php query_posts($query_string.'&cat=1'); ?>
    <?php echo category_description(1); ?>

    Плюс описание ещё добавил — описания не было.
    Единственное что — как-нибудь бы однообразно сделать на всех страницах ещё. Т.е. у меня на главной показывает:
    тест – описание рубрики «Главная»
    А если ткнуть на рубрику «Главная», то так:

    Архив рубрики: Главная
    тест – описание рубрики «Главная»

    Вот бы добавить «Архив рубрик:…», либо везде прибить его отображения при переключениях по рубрикам, чтоб было только описание.

    надо бы видеть тему, я не знаю, чем у вас архив выводится. либо где-то есть условие типа if (is_archive()) и в нем надо убрать кусок с этим текстом, либо то же самое нужно убрать из archive.php

    но если тема переводная, то это вполне может быть чем-нибудь вроде _e(‘Archive’).

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

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

    в файле archive.php есть строчки:

    <?php else : ?>
    				<?php _e( 'Blog Archives', 'twentyten' ); ?>

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

    можно их просто удалить.

    Не помогло, к сожалению. Сначала думал, что комментирую неправильно, но когда полностью удалил эти строчки — также ничего не изменилось. Если ткнуть в рубрику, то сначала: «Архив рубрики: Название рубрики», а уж потом ниже её описание.

    чуть позже посмотрю. сейчас пока занят.

    Да ничего, мне не к спеху. Помощь — это ж дело добровольное. Спасибо.

Просмотр 15 ответов — с 1 по 15 (всего 18)
  • Тема «Рубрика на главной странцие — "тру метод"» закрыта для новых ответов.