Условные теги в WordPress: 14-26
В данной серии уроков мы разбираем условные теги в WordPress.
Начнём!
14. Проверка находимся ли мы на фронт-энде: is_front_page()
В WordPress, за "фронт-энд" можно считать как статическую страницу, так и список постов (Settings > Reading). С помощью тега is_front_page()
, который возвращает TRUE
, можно осуществить проверку.
Параметры
Данный тег не принимает параметров.
15. Есть ли у поста миниатюра: has_post_thumbnail()
Одним из важнейших элементов поста является миниатюра. С помощью has_post_thumbnail()
можно определить её наличие или отсутствие.
Параметры
Данный тег принимает один параметр:
$post_id
(целое число, не обязателен): ID поста. (По умолчанию: текущий пост)
Использование has_post_thumbnail()
Предположим, что у вас есть список постов, которые должны сопровождаться миниатюрой изображения. Если же такой миниатюры нет, то показывать изображение по умолчанию:
<?php function mytheme_featured_image( $class = '' ) { global $post; $post_title = get_the_title(); if ( has_post_thumbnail( $post->ID ) ) { $featured_image = get_the_post_thumbnail( $post->ID, 'thumbnail', array( 'alt' => esc_attr( $post_title ), 'class' => $class ) ); } else { $featured_image = '<img src="' . get_stylesheet_directory_uri() . '/assets/default-thumb.jpg" alt="' . esc_attr( $post_title ) . '" class="default-thumb ' . $class . '" />'; } return $featured_image; } /* * Usage (inside the Loop): * echo mytheme_featured_image( 'my-custom-class' ); */ ?>
16. Используется ли форма комментариев в отдельном окне": is_comments_popup()
Мы не должны косо смотреть на тех, кто использует темы 10-летней давности или на тех, кто любит ретро. Если вы разрабатываете плагин, то должны предусмотреть все варианты, включая темы, где область комментариев открывается в отдельном окне. Для проверки последнего факта следует использовать тег is_comments_popup()
.
Параметры
Данный метод не принимает параметров.
17. Является ли текущая страница 404: is_404()
"Не найдено" - это одна из страниц, которую мы не хотим видеть больше всего, поэтому мы должны как можно лучше её украсить. Любую страницу ошибки можно превратить в информативный источник, который поможет пользователю найти то, что надо. С помощью условного тега is_404()
можно определить является ли текущая страница, страницей ошибки 404.
Параметры
Данный тег не принимает параметров.
Использование is_404()
Допустим вы разрабатываете плагин, который вносит в лог все ошибочные ссылки со страницы 404. Вот как это сделать:
<?php add_filter( 'template_redirect', 'my_plugin_check_404_pages' ); function my_plugin_check_404_pages() { if ( is_404() ) { my_plugin_404_logger_function(); } } ?>
18. Используется ли таксономия: taxonomy_exists()
Для проверки настроена ли таксономия можно использовать тег taxonomy_exists()
.
Параметры
Данные тег принимает только один параметр:
$taxonomy
(строка, обязателен): Название таксономии. (По умолчанию: нет значения)
19. Является ли текущая страница - страницей результатов поиска: is_search()
Страница результатов поиска - одна из важнейших частей любого сайта на WordPress. Для проверки вы можете воспользоваться тегом is_search()
.
Параметры
Данный тег не принимает параметров.
Использование is_search()
Допустим вы хотите показать ссылку на страницу результатов поиска Google с искомой фразой. Вот как это сделать:
<?php if ( is_search() ) { $search_query = get_search_query(); echo '<div class="google-search"><a href="https://www.google.com.tr/search?q=' . $search_query . '">' . __( 'Search with Google', 'translation-domain' ) . '</a>'; } ?>
20. Является ли текущая страница - страницей архива тегов: is_tag()
С помощью условного тега is_tag()
можно определить является ли текущая страница - страницей архива тегов. Нужно передать название тега, слаг, ID или массив из перечисленных значений!
Параметры
Данный тег принимает только один параметр:
$tag
(массив/строка, не обязателен): ID тега, название, слаг или массив из перечисленных значений. (По умолчанию: не задано)
21. Проверка на наличие дополнительной выдержки: has_excerpt()
В WordPress существует несколько типов "выдержки" (отрывок): Если вы хотите сами написать, то для этого есть специальное поле, если нет, то так же есть автоматическая выдержка, которая будет сгенерированна (по умолчанию, первые 55 слов поста). С помощью тега has_excerpt()
можно проверить наличие собственного отрывка.
Параметры
Данный тег принимает только один параметр:
$post_id
(целое число, не обязателен): ID поста. (По умолчанию: текущий ID поста)
Использование has_excerpt()
Предположим вы хотите отобразить собственные отрывки постов на главной странице:
<?php if ( has_excerpt() ) { the_excerpt(); } ?>
22. Проверка первичного запроса: is_main_query()
При выводе постов WordPress использует класс WP_Query
— будь то список или архивная страница. Множество функций используют класс WP_Query
, включая is_main_query()
. Данный тег определяет, что “запрос не вторичен”, а "первичен".
Параметры
Данный тег не принимает параметров.
23. Проверка наличия тега у поста: has_tag()
Иногда может возникнуть необходимость проверки наличия какого-то тега и текущего поста. Для проверки данного факта можно использовать тег has_tag()
. (Заметка: можно осуществить проверку и нескольких тегов).
Параметр
Данный тег принимает два параметра:
$tag
(массив/строка, не обязателен): Название тега, ID, слаг, или массив перечисленных значений. (По умолчанию: нет значения)$post
(объект, не обязателен): Проверяемый пост. (По умолчанию: текущий пост)
Использование has_tag()
К примеру у вас предусмотрены маркеры для постов ("NEW", "FEATURED" и "OBSOLETE") в соответствии с тегами, которые были присвоены. Вот как это сделать:
<?php if ( has_tag( 'badge-new' ) ) { echo '<div class="post-content badge-new">'; } else if ( has_tag( 'badge-featured' ) ) { echo '<div class="post-content badge-featured">'; } else if ( has_tag( 'badge-obsolete' ) ) { echo '<div class="post-content badge-obsolete">'; } else { echo '<div class="post-content">'; } // Post content. echo '</div>'; ?>
24. Проверка файла установки блога (?): is_blog_installed()
Указанный тег можно использовать чтобы определить установлен ли блог. Его целесообразно использовать в каких-то сторонних WordPress инструментах.
Параметры
Данный тег не принимает параметров.
25. Является ли текущий пользователь "супер администратором": is_super_admin()
Существует специальная роль "супер администратора", которой доступны все функции сайта. Для проверки является ли текущий пользователь “супер администратором” следует использовать тег is_super_admin()
.
Параметры
Данный тег принимает один параметр:
$user_id
(целое число, не обязателен): ID пользователя. (По умолчанию: текущий пользователь)
Пример использования is_super_admin()
К примеру вам не нравится стандартное приветствие. Вы можете это подправить:
<?php // Source: http://www.paulund.co.uk/change-the-wordpress-howdy-text add_filter( 'admin_bar_menu', 'replace_howdy' ); function replace_howdy( $wp_admin_bar ) { $my_account = $wp_admin_bar->get_node( 'my-account' ); $newtitle = __( 'Hi boss!', 'translation-domain' ); $wp_admin_bar->add_node( array( 'id' => 'my-account', 'title' => $newtitle ) ); return $wp_admin_bar; } ?>
26. Является ли текущая страница - отдельной “страницей”: is_page()
В WordPress понятие "страниц" является одним из ключевых. Если вам нужно это определить, то можете воспользоваться условным тегом is_page()
.
Параметры
Данный тег принимает только один параметр:
$page
(массив/строка, не обязателен): ID страницы, название, слаг или массив из перечисленных значений. (По умолчанию: нет значения)
Вывод
В этой части мы рассмотрели ещё одну пачку из 65 условных тегов в WordPress. В следующей части доберёмся до 39.
Увидимся в следующей части!
Данный урок подготовлен для вас командой сайта ruseller.com
Источник урока: http://code.tutsplus.com/tutorials/a-walkthrough-on-conditional-tags-in-wordpress-14-to-26--cms-22309
Перевел: Станислав Протасевич
Урок создан: 16 Июня 2015
Просмотров: 5459
Правила перепечатки
5 последних уроков рубрики "Wordpress"
-
Почему WordPress лучше чем Joomla ?
Этот урок скорее всего будет психологическим, т.к. многие люди работают с WordPress и одновременно с Joomla, но не могут решится каким CMS пользоваться.
-
Про шаблоны WordPress
После установки и настройки движка нам нужно поработать с дизайном нашего сайта. Это довольно долгая тема, но мы постараемся рассказать всё кратко и ясно.
-
Самые первые настройки после установки движка WordPress
Сегодня мы вам расскажем какие первые настройки нужно сделать после установки движка WordPress. Этот урок будет очень полезен для новичков.
-
10 стратегий эффективного продвижения статей в блогах на WordPress
Продвижение статей в блоге - непростая задача. Часто бывает, что вы пишете действительно хороший контент, включаете визуальные эффекты, делаете правильные корректировки SEO, но это не дает ожидаемого результата.
-
Топ WordPress альтернатив для создания персонального сайта
Нужен персональный сайт, но вы не хотите задействовать WordPress? Тогда данная подборка для вас.