В статье — (в общем-то) полный список основных условных тегов WordPress с кое-какими пояснениями; ссылки на посты с примерами и т.п.
На этом сайте есть много статей, да и новые пишутся, в которых повествуется о полезных функциях WP, а эти функции, вебмастера частенько используют в купе с условными тегами, так что…
…будем изучать варианты и принципы отработки условных тегов Вордпресс. Однако, разбирая материал, приходилось ссылаться в недра codex.wordpress, чтобы читатель получил подробности… а это не очень удобно.
…а посему, хотя об этом расписано достаточно много в сети, решил опубликовать подборку условных тегов и у себя, снабдить некоторыми пояснениями и, в дальнейшем, при необходимости, ссылаться на этот пост…
Google ввел новый тег indexifembedded — что это и как использовать
условные теги WordPress — Conditional Tags
Условные теги:
…как логично подсказывает само определение, призваны проверять — выполняется ли некое условие на определённой странице (в каком либо процессе, цикле).
Условные теги также возможно отнести к второстепенным (вспомогательным) PHP функциям (например, WordPress).
Как отключить подгрузку стилей, скрипов для страниц, не относящихся к Wooсommerce
к оглавлению
пример работы условных тегов:
…выведем информацию только на страницах записей: это поможет обусловить тег is_single()
:
if( is_single() ) {
echo 'информация';
}
Также возможно указать конкретную страницу, на которой будет выведена информация — помещаем в скобки id требуемой записи: is_single(4)
— как понимаете, в этом случае php будет проверять, выполняется ли заданное условие, и как только условие будет соответствовать странице-записи ID 4 — информация будет выведена.
Также, при работе с условными тегами, стоит помнить о значке «!» — инвертирование: если говорить просто, то он позволит работать с условными тегами от обратного…
if( ! is_single()) {
echo 'информация';
}
То есть ясно: без восклицательного знака условие is_single()
вернёт true
на всех страницах записей — условие будет выполнено, информация выведется.
В противном случае — наоборот false
, условие не выполнится…
… «!» значит, что информация выведется на всех страницах кроме «записей»…
…точно также возможно указывать ID.
Условными тегами может быть «завёрнута» некая функция: то есть в примере выше мы использовали HTML, но точно также возможно работать и с PHP функциями!
В общем — всё просто, однако, эта простота поможет более тонко настроить свой сайт — более удобно и для пользователей и для себя!
к оглавлению
условные теги WP
начнём с этих достаточно распространённых среди админов условных тегов:
is_home()
— главная, или основная страница сайта.
is_front_page()
— главная страница — например, главная в качестве заданной страницы is_page().
Убираем циклическую ссылку h1 — логотип на главной странице. Как правильно разметить шапку сайта header.php — теги h1 — h2 и их условия вывода…
is_404()
— проверяет страницу ошибки 404 (404: страница не найдена).
is_admin()
— проверяет открыта ли админ-панель сайта (консоль — любая страница админки).
is_archive()
— сработает, если мы находимся на любой из архивных страниц (категории, автор, метки, даты и пр.).
is_attachment()
— проверка страниц на страницы вложений.
is_author()
— проверяет условность отображения страниц архивов постов автора. Возможно указать ID требуемого автора.
is_blog_admin()
— проверяет — текущий запрос — на предмет страницы в разделе администрирования отдельного сайта сети в WordPress MU.
is_comment_feed()
— является ли запрос страницы, страницей фида комментариев.
is_customize_preview()
— отработает, если мы находимся в кастомайзере WP (визуальная настройка темы).
к оглавлению
даты и т.п. и пр.
is_date()
— проверка страниц архива по дате.
is_day()
— проверка страниц архивов по дням — URL site.ru/2009/08/05
is_month()
— проверка архивов «записи за месяц» site.ru/2009/08
.
is_time()
— отображается ли страница по времени (страница созданная в указанное время).
is_year()
— страница с постами за указанный год site.ru/2017
.
is_embed()
— проверка страницы встраивания записи (embede).
is_feed()
— проверка — запрашивается ли фид.
is_front_page()
— проверка условия — главная (домашняя) страница сайта? нет..?
is_network_admin()
— это страница раздела админки «Управление сетью» сайтов в Мультисайт?
к оглавлению
страницы, записи — контент…
is_page()
— проверка на предмет — постоянная ли страница? возможности: указываем ID, ярлык, либо заголовок страницы для проверки условий: на ЭТОЙ странице разбираем примеры для is_page
для страниц пагинации noindex,follow
.
is_page_template()
— проверка использования страницей файла шаблона. возможности: указать название файла шаблона (по ссылке выше подробно разбираем примеры этого условного тега).
is_paged()
— страницы пагинации ( по типу /page/2, /page/3, /page/4
) — по ссылке выше подробно разбираем примеры этого условного тега!
is_single()
— страница записи любого типа записей кроме attachment и page. (подробнее: как найти и убрать циклические ссылки… работа с условными тегами)
is_singular()
— страница записи (поста, страницы, вложения, произвольны тип записи). Все страницы…
is_post_type_archive()
— проверка условий страниц записей произвольного типа.
is_preview()
— страница предпросмотра записи.
is_robots()
— проверка — запрос ли к файлу robots.txt?
is_search()
— отработает , если отображается страница результатов поиска.
is_ssl()
— проверим на предмет, используется ли защищенный протокол HTTPS (SSL), или нет…
к оглавлению
архивы…
is_category()
— проверяет отображается ли страница архивов категорий…
is_tag()
— страница архива по меткам.
is_tax()
— страница пользовательской таксономии.
is_trackback()
— является ли текущий запрос запросом на страницу пингов (trackback)
is_user_admin()
— условная проверка — является ли страница страницей пользователя в админке, в сети мультисайт.
wp_doing_ajax()
— является ли текущий запрос AJAX запросом WordPress.
wp_doing_cron()
— текущий запрос, запрос к Крону?
Условные теги woocommerce…Подборка полезного кода (сниппеты) для работы магазина на WooCommerce…14 полезных сниппетов — код для наилучшей работы сайта WordPress — функции…
к оглавлению
остальные условные теги WordPress — для более утончённой работы
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_admin()
(страница админки) — страница админки блога.
is_active_sidebar()
— используем указанную панель виджетов (область виджетов, сайдбар). отработает при наличие даже одного виджета!
is_admin_bar_showing()
— будет ли показан (или уже показан) «Админ бар» (тулбар). Попросту, будет ли выведена панель тулбара для текущего пользователя.
is_blog_installed()
— проверка на предмет установлен ли сайт. …наличие опции siteurl и таблиц в базе данных.
is_child_theme()
— работает ли дочерняя тема.
is_dynamic_sidebar()
— проверка — разрешена ли функция сайдбаров (виджеты и панели для них).
is_header_video_active()
— условие, показать имеющееся видео заголовка на текущей странице?
is_local_attachment()
— это страница вложения (файла медиатеки WordPress) текущего сайта?
is_main_query()
— в главном цикле WordPress выполняется то или иное действие.
is_multi_author()
— количество авторов на сайте, — если больше одного, тогда вернет true
, наоборот fals
e.
is_multisite()
— включена на сайте ф. мультисайт?
is_nav_menu()
— проверка условий меню на существование по ID, ярлыку или имени…
is_new_day()
— отличие текущей даты от предыдущей (в цикле).
s_plugin_active()
— работает только в админ-панели: проверка — активен ли какой-то указанный плагин?
is_sticky()
— прилеплен ли текущий пост к главной странице сайта.
is_textdomain_loaded()
— загружен ли файл локализации для указанного домена (ключа перевода)?
is_user_logged_in()
— авторизован ли пользователь (пользователь под своим логином). Возвртит true
, если пользователь авторизован, либо false
, коли нет.
pings_open()
— права (разрешено ли) текущему посту получать пинги.
post_exists()
— условия, существует ли запись (пост) с указанным заголовком (post_title
). …можно указать еще: post_content и post_date
.
к оглавлению
шорткоды…
post_password_required()
— защищен пост паролем или нет?
shortcode_exists()
— зарегистрирован ли указанный шоткод?
условные теги таксономий…
is_post_type_hierarchical()
— указанный тип записи древовидный!
is_taxonomy_hierarchical()
— древовидная таксономия или нет?
taxonomy_exists()
— существует ли указанная таксономия?
term_exists()
— есть ли на сайте указанный элемент таксономии (раздел). Если есть: возвращает ID, либо массив идентификаторов этого элемента.
term_is_ancestor_of()
— второй термин дочерний к первому?? (проверка всех уровней вложенности).
wp_attachment_is()
— условия проверки — указанное вложение картинка, аудио, видео.?.
wp_attachment_is_image()
— текущая запись является ли вложением-картинкой?
Какие-то подробности возможно отыскать здесь: codex.wordpress.org… или здесь…
в кино рассмотрим нюансы в работе с условными тегами Вордпресс на примере скрытия страниц пагинации в noindex,follow
mihalica.ru !