Поддержка Проблемы и решения Разная шапка в разных категорях

  • Решено javelines

    (@javelines)


    <div id="head"><a href="<?php echo get_option('home'); ?>/">
    <?php
      // Обьявляем дефолтный путь к картинке.
      // Он будет тогда, когда никакой из if'ов ниже не сработает
      $header_path = 'http://photo.1w3.ru/wp-content/themes/lifeinphoto/head/main.jpg';
      // Меняем дефолтный путь только там, где это необходимо
      if (is_home())
        $header_path = 'http://photo.1w3.ru/wp-content/themes/lifeinphoto/head/main.jpg';
       if (in_category('lynch'))
        $header_path = 'http://photo.1w3.ru/wp-content/themes/lifeinphoto/head/lynch.jpg';
       if (in_category('news'))
        $header_path = 'http://photo.1w3.ru/wp-content/themes/lifeinphoto/head/gallery.jpg';
      // Выводим результат, не забывая про отмену двойных кавычек: \"
         echo "<img src=\"$header_path\">";
    ?>
    </a>
    </div>

    Это в header.php
    Код криво работает. Точнее он показывает только последний if.
    Как сделать чтобы под каждую категорию свою картинку в шапке?

    Еще следует учесть, что путь к категориям не /?cat=n, а /category/category_name/. Потому что на /?cat=n вроде работает.

Просмотр 12 ответов — с 1 по 12 (всего 12)
  • Автор javelines

    (@javelines)

    Ониужели это так сложно?

    Модератор Sergey Biryukov

    (@sergeybiryukov)

    Live and Learn

    Нужно заменить in_category() на is_category().

    Автор javelines

    (@javelines)

    О ЧУДО!! Спасибо 🙂 Как я его сам ненашел 🙂

    А со страницами то же можно сделать?

    Модератор Sergey Biryukov

    (@sergeybiryukov)

    Live and Learn

    Можно, с помощью is_page(). Полный список условных тегов:
    http://codex.wordpress.org/Conditional_Tags

    Это… А картинка становится стандартной, когда заходишь на запись в этой категории.

    У меня в постоянных ссылках стоит:
    /%category%/%postname%/

    Модератор Sergey Biryukov

    (@sergeybiryukov)

    Live and Learn

    Попробуйте in_category('news') || is_category('news').

    не работает. поменял это местами. тоже не работает

    ‘Parse error: syntax error, unexpected T_VARIABLE in …wp-content/themes/lifeinphoto/header.php on line 36’

    стоп. это чето уже я намудрил где то. сейчас

    <?php
      // Обьявляем дефолтный путь к картинке.
      // Он будет тогда, когда никакой из if'ов ниже не сработает
      $header_path = "/wp-content/themes/lifeinphoto/head/main.jpg";
      // Меняем дефолтный путь только там, где это необходимо
      if (is_home())
        $header_path = "/wp-content/themes/lifeinphoto/head/main.jpg";
       if (in_category('lynch') || is_category('lynch'))
        $header_path = "/wp-content/themes/lifeinphoto/head/lynch.jpg";
       if (is_page('6'))
        $header_path = '/wp-content/themes/lifeinphoto/head/gallery.jpg';
      // Выводим результат, не забывая про отмену двойных кавычек: \"
         echo "<img src=\"$header_path\">";
    ?>

    нет все же не работает. показывает «lynch» на всех страницах

    Модератор Sergey Biryukov

    (@sergeybiryukov)

    Live and Learn

    Тогда так:
    is_category('lynch') || is_single() && in_category('lynch')

    Теперь работает нормально, но в посте шапку так и не меняет =(

    Модератор Sergey Biryukov

    (@sergeybiryukov)

    Live and Learn

    Исправил предыдущее условие. is_single(), конечно, без параметра.

    О чудо! Спасибо 🙂

Просмотр 12 ответов — с 1 по 12 (всего 12)
  • Тема «Разная шапка в разных категорях» закрыта для новых ответов.