ГлавнаяWordpressCodex → Условные теги в WordPress и все что с ними связано
GoGetLinks.net

Условные теги в WordPress и все что с ними связано

Комментариев: 14Условные теги в WordPress и все что с ними связано
  • внутри цикла Loop

    Частенько встречаю это выражение, но ни разу никто не объяснил, как понять/узнать, это Loop или не Loop smile
    C чего, например, начинается и чем заканчивается?

    ОТВЕТИТЬ ↓
    • Только сегодня и только для вас: что такое the loop laugh

      ОТВЕТИТЬ ↓
  • Кама, подскажи пожалуйста. Почему Вордпресс не понимает такого условия is_tag('Nokia 5230')? Просто не видит метки под названием Nokia 5230 или слага. Например, если используется is_tag() то работает. Т.е для конкретного условия не работает, для всех работает. Использую последний Simple tags и WordPress 3.0.4. Огромное спасибо.

    ЗЫ: Спасибо за прошлый ответ.

    ОТВЕТИТЬ ↓
    • Если слаг указать, т.е.

      if( is_tag('nokia-5230') )
            // делаем что-нить

      должен понимать. Вы что-то не так делаете значит, может не там используете вообще?

      ОТВЕТИТЬ ↓
  • Спасибо за ответ, но он вновь не работает. В общем мой код

    <?php
    if( is_tag('nokia-5230') ) { remove_action('wp_head', array($psp, 'echo_to_blog_header')); }
    ?>

    добавил я его в function.php. По твоему прошлому совету, я нашел функцию плагина Platinum Seo, который выводит хедер.

    Такой код работает, но убирает вывод на всех страницах.

    remove_action('wp_head', array($psp, 'echo_to_blog_header'));

    Тогда если задается условие, а именно страница тегов Nokia 5230, где надо хедер порезать, перестает работать.

    Почему вордпресс возвращает фалсе на условие is_tag('Nokia 5230') причем данный тег есть. Возможно слаг состоящий из 2х слов нельзя использовать? Пробовал и твой вариант: nokia-5230 - не видит.

    Помоги пожалуйста.

    ОТВЕТИТЬ ↓
    • Правильно что не работает — в functions.php низя его совать! functions.php подгружается гораздо раньше темы, соответственно там вообще не понятно метка это или не метка.

      В header.php до функции wp_head() вставьте свою строчку:

      <?php if( is_tag('nokia-5230') )
          remove_action('wp_head', array($psp, 'echo_to_blog_header')); ?>

      Условные теги в functions.php можно использовать только через хуки. Например в вашем варианте можно так, если нужно именно в functions.php добавить этот код:

      <?php
      	add_filter('wp_head', 'my_head_correct', -10);
      	function my_head_correct(){
      		global $psp;
      		if( is_tag('nokia-5230') )
      			remove_action( 'wp_head', array($psp, 'echo_to_blog_header') );
      	}
      ?>

      Не уверен на 100%, что код сработает, но теоретически как-то так.

      ОТВЕТИТЬ ↓
  • Первый вариант не заработал, поскольку я его еще в прошлый раз попробовал. Второй заработал и за это огромное спасибо.

    ОТВЕТИТЬ ↓
  • Век живи... Спасибо за подробный разбор. Пытался 2 дня вывести на отдельной странице php код с помощью is_tag()... Невнимателен был. Решил всё с помощью has_tag()

    И что удивительно видел в кодексе это.. но прошел мимо. Родной язык понятней оказался smile

    ОТВЕТИТЬ ↓
  • Как ни мучаюсь - не могу вывести на отдельной странице условие:

    <a<?php if ( is_page( '20092' ) ) { echo ' class="rsHDgal2"'; } ?> href="?page_id=20092" title="Перейти в галерею HD трейлеров"></a>

    страница ?page_id=20092 так что id передал верно. (в исходном тексте генерируемой страницы нет этого класса: rsHDgal2)

    Думал что раз эта страница шаблона - то нужно

    is_page_template( 'about.php' )

    выводить. но тоже не срабатывает. Версия вордпресса 2.7.1. В чем проблема не подскажете? для тегов, постов, категорий - всё отлично срабатывает. А для отдельной страницы не пашет *unknw*

    ОТВЕТИТЬ ↓
    • сам себе отвечу: проблему решил сбросом цикла

      <?php wp_reset_query(); ?> 

      - код поставил перед нужным мне условием.

      Думаю что у вас тут:

      is_page()
          Страница Постоянной страницы, т.е. страница типа page. Функция принимает такие же параметры как и is_single(): ID страницы, Заголовок страницы, Слаг страницы или массив из любых этих параметров.
      is_page_template() .....

      ,после примера, нужно добавить это. Чтобы другие не споткнулись через эти грабли (и проверил is_page_template( 'about.php' ) - также заработало)

      В Кодексе написано:

      Использование в footer.php:

      Иногда запросы выполняются в других файлах, например sidebar.php может повредить вывод условных тегов. Чтобы заработало нужно произвести сброс цикла функцией wp_reset_query перед проверкой условия. Например:

      <?php
      wp_reset_query();
      if ( is_page( '2' ) ) {
          echo 'This is page 2!';
      }
      ?>
      ОТВЕТИТЬ ↓
  • А можно что-то придумать для заголовка конкреной записи? Например, прикрепить значок к заголовку конкретной записи.

    ОТВЕТИТЬ ↓
    • Какой значок?
      Картинку? Да можно, через произвольные поля, почитайте про них.

      ОТВЕТИТЬ ↓
  • Вопрос:
    А можно ли одну и туже метку поставить на 2000 записей? Например на сайте столько фильмов и можно ли каждому добавить метку: кино. Не будут ли от этого санкции со стороны поисковиков???

    ОТВЕТИТЬ ↓
    • Я не оптимизатор, не знаю. Но думаю, так метки лучше закрыть от индексации...

      ОТВЕТИТЬ ↓
Форма комментирования

¤ Вставляйте код кнопкой: "Код" (php, js, html, css, sql);
¤ Выделяйте HTML код кнопкой: "Выделить" (<div>);
¤ Перед отправкой комментария используйте "Превью";
¤ Не пишите спам/бред — бесполезно!

Подписаться на комментарии без комментирования:

X

Забыли пароль?