Условные тэги в WordPress

Опубликовано: 26.08.2009

Пока создавал и доводил до ума тему узнал много интересного. Сейчас расскажу про условные тэги.

Это такие функции, которые знает WordPress, возвращающие булево значение (thue и false). Кто знаком с PHP или хотя бы C++ следующий абзац могут пропустить.

Применяться условные тэги могут так: if (условние) { некоторые действия}. Можно применять операторы “и” ( && ) и “или” ( || ). И еще отрицание ( ! ), забыл совсем :) . Например так действия будут выполняться при обоих условиях: if (условие 1 && условие 2) {…}. С помощью круглых скобок можно составлять сложные конструкции. Например, tесли требуется, чтобы либо выполнилялось условия1 и не выполнялось условие 2, либо выполнилось условие 3 код должен выглядеть так: if ((условие 1 && (!условие 2)) || условие 3 ){…}.

Вернемся к самим условным тэгам. Самый известный из них, наверное, is_home(). Он возвращает true, если это страница где последние посты (по умолчанию главная страница).

Похожий условный тэг is_front_page() выдает true, если страница главная и ему не важно, страница с постами это или статическая.

is_admin() – если админка
is_single() – если пост отображается отдельно. У этого тэга есть параметры. is_single(’76’) – если отображается пост с ID 76. is_single(‘Мой пост’) – если отображается пост с заголовком “Мой пост”. is_single(‘my-post’) – если пост с коротко ссылкой вида http://…/my-post . Если нужно, чтобы выполнилось хотя бы одно из условий, то используют массив: is_single(array(76,’my-post’,’Мой пост’)). Условий этих может быть сколько угодно.

comments_open() – если комментарии открыты. Полезно использовать с другими тэгами, т.к. у меня почему-то выдал true на главной.
pings_open() – если разрешены пинги.

is_page() – если статическая страница. Параметры такие же, как у is_single().

is_category() – если есть категории. Параметры такие же как и в предыдущих двух случаях.

is_tag() – если отображается список постов с одним тэгом. is_tag (‘Мой тэг’) – если текст тэга соответствует заданному параметру. Так же и с самой ссылкой. Так же и как в других случаях в качестве параметра можно задать массив.
has_tag() – если посту присвоены тэги. Параметры как в предыдущем случае.

is_author() – если отображается список постов одного автора. В качестве параметров ID, имя и ник. Можно использовать массив.

is_archive() – если архив.
Если архив, основанный на дате, то для его определения используется is_date(). И is_year(), is_month(), is_day(), is_time(), если архив по годам, месяцам, дням и времени(по часам, минутам и секундам) соответственно.

is_search() – если страница поиска

is_404() – если ошибка 404 (нет такой страницы)

is_paged() – если все посты не умещаются на главную страницу

is_attachment() – если отдельная страница прикрепленного файла

is_preview() – если отображается неопубликованный пост в режиме предпросмотра.

JustFor вернулся и написал пост о том, как скормить Сапе как можно больше страниц. 9seo обозревает блогосферу.

Комментариев — 17 »

  1. марина 26.08.2009 в 18:16

    =)

  2. Михаил 27.08.2009 в 7:04

    Ого, спасибо за такую справку, думаю пригодится

  3. gesportvideo.ru 30.06.2010 в 10:34

    Немного не в тему, но вопрос такой возник автору. А почему вы именно wordpress выбрали для своего блога. Я вот ваш блог постоянно читаю :)

  4. Павел 3.10.2010 в 14:44

    Вообще можно долго рассказывать какие есть функции в ВП. Некоторыми надо уметь пользоваться, ато не будет результата от них.

  5. Самир 28.05.2011 в 2:08

    Здравствуйте. Мой блог на вордпресс и в прошлом году наткнулся на проблему. Мне нужно было сделать так чтобы на каждой странице, картинка в header должна была меняться. И в этом мне помогли условные теги вордпресс. Но теперь, я хочу в обычном php сайте сделать то же самое, т.е сделать так чтобы на каждой странице, картинка в header должна меняться. Но не знаю как написать код. Может поделитесь опытом.

  6. [m.k] 29.05.2011 в 19:51

    Самир, на чем сайт то? Самописная CMS?

  7. Самир 4.06.2011 в 1:31

    Спасибо за отклик [m.k]. Сайт написан на php (самописная cms). Вот хотелось бы сделать так. Например, если загружается http://site.ru/index.php программа загружала в хедере одну куртину, если скажем, http://site.ru/contact.php программа загружала другую картину и в остальных страницах тоже аналогично. Буду ждать Ваших советов.

  8. [m.k] 4.06.2011 в 9:07

    Самир, можно сделать просто – завести какую-нибудь переменную, на каждой станице задавать ей свое значение и проверять.
    $pagetype=1;

    И в коде вместо адреса картинки
    < ?php switch($pagetype) { case 1: echo ("index.jpg"); case 2: echo ("about.jpg"); case 3: echo ("contacts.jpg"); break; } ?>
    ИМХО, самый простой вариант

  9. Самир 4.06.2011 в 12:13

    Спасибо Вам [m.k]. Я уверен, что это решение моей проблемы. Я применю выше указанный код на своем скрипте и обязательно дам Вам знать. =)

  10. Самир 21.06.2011 в 1:20

    Обращение к [m.k]

    Здравствуйте. Я хотел поблагодарить Вас за совет. Мне очень помог Ваш код по php и к моему восхишению, с этим кодом я добился ожидаемого результата. =)

  11. seoЛешка 31.07.2011 в 14:12

    wordpress вообще достаточно простой CMS и в тоже время функциональный, лучший вариант для новичка.

  12. Андрей Охотников 27.11.2011 в 20:31

    Пригодится!
    Довольно интерессная информация)
    Надо в закладки страничку!)

  13. Tarlan 24.02.2012 в 9:11

    Сделаю дополнение, где эти условные теги могут очень пригодиться. Есть такой отличный плагин, как Widget Logic, который позволяет настроить вывод выджетов только на определённых страницах. Именно эти теги он использует в своей работе.

  14. Kats 14.05.2012 в 9:00

    Я использую эти теги для WordPress

  15. Александр 18.05.2012 в 19:12

    Полезная статья. Что-то внедрю на своем блоге.

  16. Марина 26.01.2013 в 10:15

    Взяла на заметку вашу статью,очень многое узнала.

Оставьте комментарий к посту ”Условные тэги в WordPress”

Разрешено использовать тэги: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

Трекбеки и пингбеки

Ключевые слова:
AdSense google page rank Sape SEO WordPress Блог Сапа Софт Яндекс акция ап апдейт бесплатно дизайн домен запросы индекс цитирования интернет интернет-магазин комментарии компьютер конкурс продвижение реклама спам ссылки тИЦ форум эстафета