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

  • Здравствуйте, мне уже понял как показывать текст только на главной:
    <?php if (is_home()) : ?>
    …ваш текст
    <?php endif; ?>

    А как сделать наоборот, чтобы он не показыался на главной, но показывался в постах(для seo — хочу, чтобы тег h1 отображался только на странице поста и не появлялся на главной в ленте свежих постов, но подкат использовать в моем случае тоже нельзя)?

Просмотр 8 ответов — с 1 по 8 (всего 8)
  • Модератор Yuri

    (@yube)

    Стоит почитать Кодекс:
    1. Условные теги (Conditional Tags)
    2. Иерархия шаблонов

    Там ответы на этот и массу аналогичных вопросов.

    Спасибо, почитал, очень полезно. Но правильно ли я понял, что для того, чтобы для отображать определенное содержимое каждого поста только в нем и больше нигде нужно всякий раз добавлять is-single(id поста) в файл single.php темы? Если у меня 1000 постов, то файл получится неслабый 🙂 да и не очень удобно. Есть ли возможность решить эту задачу прямо в коде конкретного поста?

    Atrax

    (@atrax)

    Ethical engineer

    Уберите <h1><?php the_title(); ?></h1> из index.php.
    И впредь формулируйте вопросы конкретней.

    У меня нет такой строчки в index.php. Тег h1 я вставил туда вручную внутрь is_home(), с этим проблем нет. Вопросы по h1 уникального ключевика каждого отдельного поста.
    Я имел ввиду вот что: когда я «усиливаю» страницу определенного поста ключевой фразой, заключенной в h1, я хочу, чтобы эта фраза была не видна на главной странице. Если эта фраза расположена внизу длинного поста, то задача решается просто — я убираю ее под кат. Но у меня короткие посты и есть еще другие причины, почему я не использую подкат. При помощи is_single(id поста)задача решается, но несколько громоздко — для каждого поста нужно делать запись в single.php (как я понял из Кодекса). Вот я и спрашивал, есть ли еще варианты решить задачу, кроме подката и is_single?
    Извините, если не достаточно точно выразился.

    Модератор Sergey Biryukov

    (@sergeybiryukov)

    Live and Learn

    1. Можно написать !is_home() — это значит «не на главной».
    2. Если в is_single() не указать ID — получится условие «на странице любой записи».

    Спасибо, можно и через !is_home(), но все равно придется для каждого поста редактировать файл single.php — ведь для каждого поста свое ключевое слово.

    Модератор Yuri

    (@yube)

    Есть такая замечательная штука, как Custom Fields

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

Просмотр 8 ответов — с 1 по 8 (всего 8)
  • Тема «Исключить текст с главной не используя подкат» закрыта для новых ответов.