[Помогите] Вывод разного контента на is_home и is_paged

Тема в разделе "Wordpress", создана пользователем BadMotherFucker, 23 мар 2010.

Статус темы:
Закрыта.
Модераторы: Sorcus
  1. BadMotherFucker

    BadMotherFucker Модератор (Core Team)

    Регистр.:
    13 ноя 2009
    Сообщения:
    786
    Симпатии:
    570
    Нужно сделать так чтобы на главной выводилось сообщение - "Это главная страница", а на суб-страницах (domain.com/page/2/, domain.compage/3/ и т.д) выводилось сообщение - "Это не главная страница".

    Пробовал делать так:
    HTML:
    <?php if (is_home()) : ?> // так же пробовал is_front_page
    <h1>Это главная страница</h1>
    <?php elseif (is_paged()) : ?>
    <h1>Это не главная страница</h1>
    <?php endif; ?>
    Проблема в том что is_home (is_front_page) действует как для главной страницы, так и для всех суб-страниц, в результате чего на суб-страницах выводится два сообщения.
     
  2. ugcker

    ugcker Постоялец

    Регистр.:
    17 ноя 2008
    Сообщения:
    69
    Симпатии:
    42
    А что мешает поставить проверку на URL главной? Или нужно универсальное решение?
     
  3. t3s

    t3s

    Регистр.:
    16 фев 2008
    Сообщения:
    719
    Симпатии:
    290
    жестко, не по-вордпрессному, зато работать будет везде (в том числе и не на ВП:(
    PHP:
    if ($_SERVER['REQUEST_URI'] != ''){// если адрес сайта содержит больше чем имя домена, например сайт.ком/ньюз.хтмл
    print'<h1>Это не главная страница</h1>';//выводим неглавный титле
    }else{//иначе
    print'<h1>Это главная страница</h1>';//выводим главный титле
    }
    почему именно $_SERVER['REQUEST_URI']?
    хз, мне показалось достаточно гибким вариантом - например можно выводить разное содержимое разным категориям, страницам, постам и т.д.
     
    BadMotherFucker нравится это.
  4. BadMotherFucker

    BadMotherFucker Модератор (Core Team)

    Регистр.:
    13 ноя 2009
    Сообщения:
    786
    Симпатии:
    570
    остановился на варианте от t3s,
    если у кого-нибудь есть альтернативные решения, буду рад увидить их в этом топике.
     
  5. Jaarg

    Jaarg

    Регистр.:
    18 авг 2008
    Сообщения:
    503
    Симпатии:
    97

    PHP:
    <?php if ( (is_home())&&!(is_paged()) ) { ?>
         <h1>Главная страница!</h1>
    <?php } else { ?>
         <h1>Это не главная страница!</h1>
    <?php ?>
    рождено в муках. при родах помогал Xp10r3r :D
     
    BadMotherFucker и Xp10r3r нравится это.
  6. BadMotherFucker

    BadMotherFucker Модератор (Core Team)

    Регистр.:
    13 ноя 2009
    Сообщения:
    786
    Симпатии:
    570
    Встречал в сети подобный вариант с ( (is_home())&&!(is_paged()) ), но почему то даже не обратил на него внимание...

    В результате у меня получилось следущее:

    PHP:
    <?php if ((is_home())&&!(is_paged())) : ?>
    <h1>Это главная страница</h1>
    <?php elseif (is_paged()) : ?>
    <h1>Это не главная страница</h1>
    <?php endif; ?>
    Всем большое спасибо за помощь!
     
Статус темы:
Закрыта.