Условные теги в WordPress: Финал. Wordpress условные теги


Условные теги WordPress (Conditional Tags)

Используя Условные теги (Conditional Tags) в файлах-шаблонах вашей Темы можно указать какое содержание отображать на определенной странице в зависимости от того, выполнены ли какие-либо из заданных условий для данной страницы. Т.е. можно с легкостью настроить отображение записей на главной странице или подключить к определенной категории свой (уникальный) вывод записей. Например, можно отображать определенный текст только на главной странице посредством условного тега ‘is_home ()’.

Оригинал статьи Кодекса смотрите здесь.

Суть работы Условных тегов (Conditional Tags) в том, чтобы когда необходимо выполнить конкретное заданное условие, срабатывали определения TRUE или FALSE (т.е. срабатывало заданное условие). Ниже приведены все возможные условия.

Главная страница

is_home () - Тег используется для отображения чего-либо на главной странице. Если вы используете в качестве Главной страницы — Постоянную страницу (Админ панель > Параметры > Чтение), то данный тег будет считать главной — Главную страницу ваших записей.

The Front Page

is_front_page () - Этот тег появился в WordPress версии 2.5. Тег работает на главной странице сайта, вне зависимости от того,  что на ней будет выводится: записи или Статическая страница.

welovewp.wordpress.com

Метки функций — Условные теги (все) — WordPress как на ладони

is_404()

Проверяет показывается ли страница ошибки 404 (HTTP 404: страница не найдена). Условный тег.

is_admin()

Проверяет находится ли пользователь в админ-панели сайта (консоль или любая другая страница админки). Условный тег.

is_archive()

Условный тег. Срабатывает, когда показывается любая из архивных страниц (страница: категории, метки, автора, даты).

is_attachment()

Проверяет является ли данная страница страницей вложения. Условный Тег.

is_author()

Тег Шаблона, проверяет отображается ли страница с постами автора. Можно указать конкретного автора.

is_blog_admin()

Проверяет является ли текущая страница, текущий запрос - страницей в разделе администрирования отдельного сайта сети в WordPress MU. Условный тег.

is_category()

Условный тэг. Проверяет показывается ли страница категорий или нет.

is_comment_feed()

Проверяет, является ли запрос, страницей фида комментариев. Условные тег.

is_customize_preview()

Срабатывает когда находимся в кастомайзере WordPress (визуальная настройка темы). Условный тег.

is_date()

Срабатывает когда отображается страница архива по дате. Условный тег.

is_day()

Условный тег. Срабатывает, когда отображается страница архива по дню.

is_embed()

Проверят является ли запрос запросом на страницу встраивания записи (embede).

is_feed()

Проверяет запрашивается ли в текущий момент фид.

is_front_page()

Проверяет отображается ли главная (домашняя) страница сайта. Условный тег.

is_home()

Условный тег, проверяет показывается ли страница с последними постами, обычно это главная страница сайта.

is_month()

Проверяет отображается ли страница архива по месяцам в данный момент или другая страница. Условный тег.

is_network_admin()

Проверяет является ли текущая страница, текущий запрос - страницей в разделе администрирования сети сайтов в WordPress MU сборке. Например /wp-admin/network/. Условный тег.

is_page()

Проверяет отображается ли страница "постоянной страницы". Можно указать ID, ярлык или заголовок страницы для проверки. Условный тег.

is_page_template()

Проверяет используется ли для страницы файл шаблона. Можно указать название файла шаблона.

is_paged()

Проверяет отображается ли страница пагинации (страница типа /page/2, /page/3).

is_post_type_archive()

Проверяет находится ли пользователь на архивной странице записей произвольного типа.

is_preview()

Проверят находится ли пользвоатель на странице предпросмотра записи. Условный тег

is_robots()

Проверяет запрос ли это к файлу robots.txt. Условные тег.

is_search()

Срабатывает, когда отображается страница результатов поиска. Условный тег.

is_single()

Проверяет отображается ли страница записи любого типа записей кроме attachment и page. Условные тег.

is_singular()

Проверяет просматривается ли страница записи (поста, страницы, вложения, произвольны тип записи). Условный тег.

is_ssl()

Проверяет используется ли защищенный протокол HTTPS (SSL). Условный тег.

is_sticky()

Условный тег. Проверяет прилеплен ли текущий пост к главной странице сайта.

is_tag()

Проверят отображается ли страница архива по меткам. Условный тег.

is_tax()

Срабатывает на архивной странице пользовательской таксономии. Условный тег.

is_time()

Срабатывает на архивных страницах по времени. Условный тег.

is_trackback()

Проверяет, является ли текущий запрос запросом на страницу пингов (trackback)

is_user_admin()

Проверяет запрашиваемую страницу - является ли она страницей пользователя в админке, в сети мультисайт. Например: /wp-admin/user/ или /wp-admin/user/profile.php. Условный тег.

is_year()

Срабатывает когда показывается страница с постами за указанный год. Условный тег.

wp_doing_ajax()

Проверяет, является ли текущий запрос AJAX запросом WordPress.

wp_doing_cron()

Определяет является ли текущий запрос, запросом к Крону. Условный тег.

cat_is_ancestor_of()

Проверяет является ли указанная рубрика дочерней к другой указанной рубрике (проверяются все уровни вложенности). Условный тег.

comments_open()

Проверяет открыто ли комментирование для указанного поста/записи.

email_exists()

Проверяет существует ли указанный email адрес среди зарегистрированных пользователей.

has_category()

Проверяет находится ли текущая (или указанная) запись хоть в одной из указанных категорий.

has_custom_header()

Проверяет установлена ли картинка для шапки темы, или установлено ли видео и доступно для показа на текущей странице запроса.

has_excerpt()

Проверяет есть ли у текущего поста цитата (короткое описание). Условный тег.

has_nav_menu()

Проверяет, имеет ли зарегистрированная область для меню прикрепленное к ней меню. Условный тег.

has_post_thumbnail()

Проверяет имеет ли указанная запись (пост) картинку миниатюру. Условный тег.

has_shortcode()

Проверяет есть ли в переданном тексте указанный шоткод.

has_tag()

Проверяет принадлежит ли пост к указанным меткам, т.е. есть ли у поста указанные метки. Условный тег.

has_term()

Проверяет наличие у поста терминов, т.е. проверяет есть ли у поста метки/категорий/разделы (с учетом таксономии).

have_comments()

Проверяет есть ли комментарии для вывода на текущей странице записи. Условный тег.

have_posts()

Проверяет есть ли у текущего запроса WP результаты для вывода, т.е. есть ли в наличии посты, которые можно вывести для текущей страницы. Условный тег.

in_category()

Проверяет принадлежит ли текущий (или указанный) пост к указанной категории (можно указать несколько категорий). Условный тег.

in_the_loop()

Проверяет активен ли цикл перебора записей в момент вызова этой функции. Условный тег, чтобы делать что-либо находясь в цикле WordPress.

is_active_sidebar()

Проверяет используется ли указанная панель виджетов (область для виджетов, сайдбар). Сработает если в области для виджетов есть хоть один виджет. Условный тег.

is_admin_bar_showing()

Проверяет будет ли показан (или уже показан) «Админ бар» (тулбар). Т.е. будет ли выведена панель админки для текущего пользователя. Условный тег.

is_blog_installed()

Проверяет установлен ли сайт. Проверяется наличие опции siteurl и таблиц в базе данных. Результат кэшируется.

is_child_theme()

Проверяет используется ли дочерняя тема. Условные тег.

is_dynamic_sidebar()

Проверяет поддерживается ли темой функция сайдбаров (виджеты и панели для них) и установлен ли для панели хотя бы один виджет. Условный тег.

is_header_video_active()

Проверяет нужно ли показать имеющееся видео заголовка на текущей странице. Условный тег.

is_local_attachment()

Проверяет переданный URL, является ли он страницей вложения (файла медиатеки WordPress) текущего сайта.

is_main_query()

Проверяет в главном ли цикле WordPress выполняется действие. Условный тег.

is_multi_author()

Проверяет количество авторов на сайте, если больше одного, то вернет true, иначе false. Условный тег.

is_multisite()

Проверяет включена ли мультисайтовость на сайте. Условный тег.

is_new_day()

Проверяющий отличие текущей даты от предыдущей (в цикле). Условный тег.

is_plugin_active()

Проверяет, активен ли указанный плагин. Работает только в админ-панели. Условный тег.

is_post_type_hierarchical()

Проверяет является ли указанный тип записи древовидным.

is_taxonomy_hierarchical()

Проверяет древовидная ли указанная таксономия. Условный тег.

is_textdomain_loaded()

Определяет загружен ли файл локализации для указанного домена (ключа перевода).

is_user_logged_in()

Функция проверяет авторизован ли пользователь (вошел ли пользователь под своим логином). Возвращает true, если пользователь авторизован и false, если нет. Условный тег.

pings_open()

Проверят разрешено ли текущему посту получать пинги. Условный тег.

post_exists()

Проверяет существует ли уже запись (пост) с указанным заголовком (post_title). Для проверки, в дополнении к обязательному заголовку можно указать еще: post_content и post_date.

post_password_required()

Проверяет защищен пост паролем или нет. Также проверяет правильность пароля, если пароль у поста установлен.

shortcode_exists()

Проверяет зарегистрирован ли указанный шоткод.

taxonomy_exists()

Проверяет существует ли указанная таксономия.

term_exists()

Проверяет существует ли указанный элемент таксономии (раздел). Если существует, возвращает ID или массив идентификаторов этого элемента.

term_is_ancestor_of()

Проверяет является ли второй термин дочерним к первому (проверяются все уровни вложенности). Условный тег.

wp_attachment_is()

Проверяет является ли указанное вложение: картинкой, аудио или видео. Возвращает true/false.

wp_attachment_is_image()

Проверяет является ли текущая запись вложением-картинкой. Условный тег.

wp_is_mobile()

Проверяет не с мобильного ли устройства зашел пользователь. Условный тег.

wp_is_post_autosave()

Определяет является ли указанная запись авто-сохранением.

wp_script_is()

Определяет был ли скрипт зарегистрирован или добавлен в очередь на вывод, или выведен на экран, или ожидает вывода.

wp-kama.ru

Полноценно используем условие if, условные теги WordPress

Довольно распространенный ступор при разработке темы для WordPress, как пользоваться конструктором условий if else, как правильно их задать и как их вообще использовать в WordPress. Чтобы миллионы пользователей не сходили с ума в поисках решений, WordPress, так сказать, создал условные теги о использовании которых сегодня пойдет речь.

Стандартная конструкция условия выглядит следующим образом:

<?php if(условие) : echo 'good'; else : echo 'bad'; endif; ?>

С одной стороны все понятно, а с другой стоит вопрос как правильно сформулировать условие, чтобы WordPress понял, то чего мы от него хотим 🙂 поехали:

1. Главная страница

Часто хотим, чтобы определенная информация выводилась только на главной странице. Для решения можно создать в папке Вашей темы файл home.php или в файл index.php внести следующее условие:

<?php if(is_home()) { ?> <div> ....Здесь выводим информацию, которую мы хотим видеть на главной странице </div> <?php } ?>

2. Проверяем рубрики

Зададим такое условие: Если мы находимся в рубрике WordPress, то выведем фразу «Вас приветствует, WordPress!», а если нет то фразу «Добро пожаловать, на наш сайт!»

<?php if(is_category('id')) : echo "Вас приветствует, WordPress!"; else : echo "Добро пожаловать, на наш сайт!"; endif; ?> /*Можно и такой схемой*/ <?php if(is_category('id')) { ?> <p>"Вас приветствует, WordPress!"</p> <?php } else { ?> <p>Добро пожаловать, на наш сайт!"</p> <?php } ?>

Здесь и дальше в качестве идентификатора рубрики(метки) или записи(страницы) я буду использовать id — его можно узнать в панели управления сайтом. Если Вы пишете условия для рубрик(меток) то смотрите id на странице рубрик(меток), а если записей(страниц) — то на странице всех записей(страниц)… паника). Как все-таки узнать?, — смотрите иллюстрацию:

Полноценно используем условие if

Идем далее по условиям связанных с рубриками и зададим следующее: «Если запись находится в рубрике WordPress, то вывести слова — Статья из рубрики WordPress»:

<?php if(in_category('id')) : echo 'Статья из рубрики WordPress'; endif; ?>

И еще такой финт 🙂 допустим нам нужно условие для проверки нескольких рубрик, тогда условия будут иметь вид:

<?php if(is_category(array(1,2,34,48)) or in_category(array(1,2,33,50))) : ?> <p>выведем то, что нам нужно</p> <?php endif; ?>

3. Проверяем метки

Метки — крутой классификатор внутри рубрик. Рассмотри несколько примеров, как их можно проверить.

Задача: Если запись имеет метку "plugin", то вывести фразу — WordPress Plugin

Решение:

<?php if(has_tag('plugin')) : echo 'WordPress Plugin'; endif; ?>

Задача: Если находимся на странице метки "plugin", то вывести фразу — Коллекция плагинов WordPress.

Решение:

<?php if(is_tag('plugin')) : echo 'WordPress Plugin'; endif; ?>

Примечание: в работе с условиями меток лучше пользоваться ярлыком метки, а не ее идентификатором.

Заключение

Я рассмотрел основные условные теги, если у Вас есть какие-то вопросы задавайте их в комментариях! Удачного использования!

www.howtomake.com.ua

Условные теги в WordPress: Финал

Это был долгий пути, но мы всё преодолели и подошли к концу. Я надеюсь, что информация предоставленная в данной серии уроков была увлекательна и полезна.

Что мы изучили

В первой части мы познакомились с понятием условных тегов, а так же узнали какую роль они играют в создании тем и плагинов для WordPress. Вдобавок я продемонстрировал пять примеров умелого использования условных тегов.

В последующих пяти урока мы прошлись по 65 условным тегам: познакомились с их описанием, рассмотрели практические примеры. На момент написания статьи в документации было описано 66 функции, однако потом одна из них была объявлена устаревшей (is_plugin_page()), поэтому цифра снизилась до 65.

В результате, во второй части нами был рассмотрен следующий список условных тегов:

В третьей:

В четвёртой:

В пятой:

В шестой:

Бонус: три плагина для удобной работы с условными тегами

А теперь небольшой бонус: описание трёх плагинов, который помогут в работе с уловными тегами!

Widget Logic

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

Логика данного плагина проста: под каждым виджетом в панели управления вставляется небольшое поле ввода в которое можно ввести условный тег так, как будто вы вводили его в условие if. Будьте осторожны: Данный плагин использует функцию EVAL. Это значит, что любой PHP код вставленный в этот блок может быть выполнен. Любой. Будьте бдительны.

Script Logic

Script Logic предназначен для управления вашими JavaScript файлами — а именно вызовом их подключения с помощью функции wp_enqueue_script(). Данный плагин позволяет подгружать различные скрипты в зависимости от того или иного условия. В нутре плагина так же используется функция EVAL, так что будьте осторожны.

Conditional Shortcodes

Помните пример, который мы рассматривали во время изучения условного тега is_feed()? Данный плагин расширяет его до использования 19 функций. Список условных тегов, поддерживаемых плагином:

Использование сводится к работе с шорткодом: поместите условный тег в квадратные скобки и укажите параметры.

Конец

Данная серия уроков была не проста, но очень познавательна. Надеюсь эти знания вам пригодятся.

golo.pro

Условные тэги в Wordpress | SEO 73: дневник вебмастера

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

Это такие функции, которые знает 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 обозревает блогосферу.

seo73.ru


Смотрите также

Prostoy-Site | Все права защищены © 2018 | Карта сайта