Поддержка Проблемы и решения Пост и категория

  • Имею картинку-заголовок, которая меняется в зависимости от рубрики. Картинка узнаёт рубрику из адреса, пример:

    Адрес http://mysite.ru/wp/category/analitycs/

    <td background="<?php bloginfo('template_directory'); ?>/img/h1_about.jpg" <?php
                    if (is_category('analitycs'))
                    {
                    echo " id=\"h1_analitycs\"";
                    }
    ?>></td>

    В этой рубрике имею пост, имеющий следующий вдрес: http://mysite.ru/wp/analitycs/30/. При переходе по этому адресу и возникает проблема — картинка-заголовок не может определить в какой она рубрике и устанавливает картинку по умолчанию, т.е. h1_about.jpg. Помогите пожалуйста.

Просмотр 10 ответов — с 1 по 10 (всего 10)
  • Модератор Sergey Biryukov

    (@sergeybiryukov)

    Live and Learn

    Если я правильно понял, нужно заменить is_category() на in_category().

    Ядрён батон, оно самое и есть 🙂 Спасибо большое за помощь.

    Эээ… возникла следующая проблема. Теперь, когда мы находимся на главной странице, почему-то срабатывает код if (in_category(‘analitycs’)), хотя мы не находимся ни в какой из категорий. В коде имею так же аналогичную строку if (in_category(‘signals’)), которая вызывает другую картинку в зависимости от категории, но она-то не срабатывает. Когда перехожу по другим ссылкам, всё работает как надо. Весь код прилагаю.

    header.php

    <table border="0" cellspacing="0" cellpadding="0">
      <tr>
        <td background="/img/btn_about.gif" <?php
                    if (is_front_page())
                    {
                    echo " id=\"current_index\"";
                    }?>><a href=""></a></td>
        <td></td>
        <td background="/img/btn_analitycs.gif" <?php
                    if (in_category('analitycs'))
                    {
                    echo " id=\"current_analitycs\"";
                    }?>><a href=""></a></td>
        <td></td>
        <td background="/img/btn_contacts.gif" <?php
                    if (is_page('contacts'))
                    {
                    echo " id=\"current_contacts\"";
                    }?>><a href=""></a></td>
      </tr>
      <tr>
        <td background="/img/btn_edu.gif" <?php
                    if (is_page('education'))
                    {
                    echo " id=\"current_education\"";
                    }?>><a href=""></a></td>
        <td></td>
        <td background="/img/btn_signals.gif" <?php
                    if (in_category('signals'))
                    {
                    echo " id=\"current_signals\"";
                    }?>><a href=""></a></td>
        <td></td>
        <td background="/img/btn_broker.gif" <?php
                    if (is_page('broker'))
                    {
                    echo " id=\"current_broker\"";
                    }?>><a href=""></a></td>
      </tr>
    </table>

    Модератор Yuri

    (@yube)

    почему-то срабатывает код if (in_category(‘analitycs’)), хотя мы не находимся ни в какой из категорий

    Потому что in_category() проверяет, принадлежит ли текущий пост указанной категории, а не где находимся мы. «Где мы» проверяется группой функций is_*

    Atrax

    (@atrax)

    Ethical engineer

    Следующая проблема — новая тема. Правила читаем внимательно.

    Модератор Sergey Biryukov

    (@sergeybiryukov)

    Live and Learn

    Думаю, это та же самая 🙂

    Потому что in_category() проверяет, принадлежит ли текущий пост указанной категории, а не где находимся мы. «Где мы» проверяется группой функций is_*

    Если выставляю is_*, то возникает предыдущая проблема 🙂

    Чтобы не представлять себе как выглядит проблема на текущий момент, можно перейти по ссылке и посмотреть http://eurocg.ru/wp/. На данный момент на главной странице высвечены «О компании» и «Аналитика».

    Хочу добавить, что как только я поменял is_ на in_, в первый раз всё сработало как надо. При последующей редакции файла возникла эта проблема. Возможен ли глюк в wordpress?

    Как и предполагал, это оказался глюк WordPress. Удалив рубрику, создал её заново, и всё заработало.

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