В статье – (в общем-то) полный список основных условных тегов 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 !