В этой серии статей мы рассмотрим одну из основных функций WordPress: условные теги. В этой третьей части мы продолжим знакомство с условными тегами. Не забудьте проверить предыдущие части, если вы еще не сделали.
Давайте начнем!
  14. Проверка, находимся ли мы на is_front_page() странице: is_front_page() 
  В WordPress «главная страница» может быть настроена как статическая страница WordPress или список последних сообщений в блоге (« Настройки»> «Чтение» ).  В любом случае, is_front_page() тег is_front_page() возвращает TRUE когда отображается is_front_page() страница. 
Принятые параметры
Этот условный тег не принимает никаких параметров.
  15. Проверка наличия миниатюры в сообщении: has_post_thumbnail() 
  «Избранные изображения» являются одной из ключевых частей экрана «Новая запись / страница».  Условный тег has_post_thumbnail() определяет, есть ли назначенное has_post_thumbnail() изображение для данного сообщения или нет. 
Принятые параметры
Этот условный тег имеет только один параметр:
-   $post_id(целое число, необязательно): идентификатор записи. (По умолчанию: идентификатор текущей записи)
  Пример использования has_post_thumbnail() 
Допустим, вы разрабатываете тему, и в ней у каждого поста в блоге должно быть «рекомендуемое изображение», поэтому вы хотите отобразить «изображение по умолчанию», если оно не установлено. Вот что вы делаете:
| 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | <?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() тег is_comments_popup() . 
Принятые параметры
Этот условный тег не принимает никаких параметров.
  17. Проверка, является ли страница ошибкой 404: is_404() 
  Страницы с ошибками «Не найдено», как правило, являются теми, которые мы ненавидим видеть на наших веб-сайтах, и поэтому нам все равно, как они выглядят.  Но если вы правильно используете эти страницы ошибок, вы можете превратить их в полезные страницы, которые информируют ваших пользователей или помогают им ориентироваться.  Условный тег is_404() помогает нам определить, отображается ли ошибка 404 пользователю. 
Принятые параметры
Этот условный тег не принимает никаких параметров.
  Пример использования для is_404() 
Допустим, вы разрабатываете плагин, который регистрирует неработающие внутренние ссылки, и вы хотите, чтобы ваша функция запускалась каждый раз при просмотре страницы с ошибкой 404. Вот что вы делаете:
| 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 | <?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_exists() чтобы ваш код определял его. 
Принятые параметры
Этот условный тег имеет только один параметр:
-   $taxonomy(строка обязательна): название таксономии. (По умолчанию: нет)
  19. Проверка, является ли страница страницей «Результаты поиска»: is_search() 
  Несмотря на то, что страницы результатов поиска немного недооценены, они являются важной частью веб-сайтов WordPress.  И если вы разрабатываете плагин или тему, вы можете обнаружить эти страницы с помощью условного тега is_search() . 
Принятые параметры
Этот условный тег не принимает никаких параметров.
  Пример использования для is_search() 
Допустим, вы хотите включить ссылку для поиска Google с теми же условиями. Вот что вы делаете:
| 01 02 03 04 05 06 07 08 09 10 11 | <?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 . ‘»>’ . } ?> | 
  20. Проверка, является ли страница страницей «Tag Archives»: is_tag() 
  Хотите по-разному относиться к архивам тегов?  Условный тег is_tag() может помочь вам в этом.  Хотите относиться к определенным тегам по-разному?  Просто передайте имя тега, слаг или ID (или их массив) в качестве параметра! 
Принятые параметры
Этот условный тег имеет только один параметр:
-   $tag(массив / строка, необязательно): идентификатор тега, имя, слаг или их массив. (По умолчанию: нет)
  21. Проверка наличия у поста пользовательского has_excerpt() : has_excerpt() 
  В сообщениях WordPress есть два вида «отрывков»: если вы хотите написать один самостоятельно, это называется «пользовательский отрывок», а если нет, генерируется «автоматический отрывок» (по умолчанию это первый слова из поста).  Условный тег has_excerpt() проверяет, установил ли пользователь пользовательскую выдержку для данного сообщения. 
Принятые параметры
Этот условный тег имеет только один параметр:
-   $post_id(целое число, необязательно): идентификатор записи. (По умолчанию: идентификатор текущей записи)
  Пример использования has_excerpt() 
Допустим, вы создаете тему и хотите отображать пользовательские выдержки на главной странице, но не хотите отображать автоматические выдержки. Вот что вы делаете:
| 1 2 3 4 5 6 7 8 9 | <?php if ( has_excerpt() ) {     the_excerpt();     } ?> | 
  22. Проверка, является ли это основным is_main_query() : is_main_query() 
  WordPress использует класс WP_Query для составления списка сообщений — будь то просто список заголовков сообщений или индекс полных сообщений на странице архива.  Ряд функций использует класс WP_Query , и is_main_query() является одной из них.  Этот условный тег определяет, является ли запрос «вторичным запросом», а не «основным запросом». 
Принятые параметры
Этот условный тег не принимает никаких параметров.
  23. Проверка, есть ли у сообщения has_tag() тег: has_tag() 
  Иногда вам может потребоваться проверить, есть ли в сообщении какой-либо тег, чтобы заставить сообщение (или сообщения) действовать не так, как другие.  Для этого вы можете использовать has_tag() чтобы проверить, помечен ли пост указанным вами тегом.  (Примечание. Позволяет указать несколько тегов для поиска.) 
Принятые параметры
Этот условный тег имеет два параметра:
-   $tag(массив / строка, необязательно): имя тега, идентификатор, слаг или их массив. (По умолчанию: нет)
-   $post(объект, необязательно): публикация для проверки. (По умолчанию: текущий пост)
  Пример использования has_tag() 
Допустим, у вас есть «значки» для ваших сообщений в блоге (например, «NEW», «FEATURED» и «OBSOLETE»), которые будут активированы с помощью соответствующих тегов, и вы хотите отобразить изображения внутри сообщений. Вот что вы делаете:
| 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | <?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() 
  Этот конкретный условный тег возвращает TRUE если WordPress установлен.  Я включил этот условный тег только для справки, потому что технически он не может быть полезен для разработчиков плагинов или тем — его можно использовать в каком-то внешнем инструменте WordPress, возможно. 
Принятые параметры
Этот условный тег не принимает никаких параметров.
  25. Проверка, является ли пользователь «супер-администратором»: is_super_admin() 
  В сети Multisite есть «супер администратор», который может администрировать все сайты.  Чтобы определить, является ли пользователь «супер-администратором» (или обычным администратором в обычных установках WordPress), вы можете использовать is_super_admin() тег is_super_admin() . 
Принятые параметры
Этот условный тег имеет только один параметр:
-   $user_id(целое число, необязательно): идентификатор пользователя. (По умолчанию: текущий пользователь)
  Пример использования для is_super_admin() 
Допустим, вам не нравится приветствие «Привет», и вы хотите изменить его, но пользователям это нравится, и вы хотите, чтобы оно осталось. В этом случае вам нужно решение, которое применимо только к вам. Вот что вы делаете:
| 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 | <?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»: is_page() 
  В WordPress «страницы» — это один из пяти встроенных типов сообщений, а также сообщения, ревизии, вложения и навигационные меню.  И если вы хотите обнаружить определенную страницу (или любую страницу в целом), вы можете использовать is_page() тег is_page() . 
Принятые параметры
Этот условный тег имеет только один параметр:
-   $page(массив / строка, необязательно): идентификатор страницы, заголовок, слаг или их массив. (По умолчанию: нет)
Вывод
В этой части мы рассмотрели еще один пакет из 65 задокументированных условных тегов в WordPress. В следующих частях мы рассмотрим оставшиеся 39. Если у вас есть какие-либо вопросы или комментарии, задайте их ниже — и если вам понравилась эта статья, не забудьте поделиться ею!
Увидимся в следующей части!