Dans cette série, nous aborderons l’une des fonctionnalités essentielles de WordPress : les balises conditionnelles. Dans la troisième partie, nous continuerons à introduire et à examiner les balises conditionnelles. Si vous n'avez pas vu les épisodes précédents, n'hésitez pas à les consulter.
Commençons !
is_front_page()
Dans WordPress, la « Page d'accueil » peut être définie sur une page WordPress statique ou une liste des derniers articles de blog (Paramètres > Lecture ). Quoi qu'il en soit, la balise conditionnelle is_front_page()
返回 TRUE
renvoie TRUE
lorsque la page d'accueil est affichée.
Cette balise conditionnelle n’accepte aucun paramètre.
has_post_thumbnail()
L'« Image en vedette » est l'un des éléments clés du nouvel écran de publication/page. Balise conditionnelle has_post_thumbnail()
Détermine si une image sélectionnée est spécifiée pour une publication donnée.
Cette balise conditionnelle n'a qu'un seul paramètre :
$post_id
(entier, facultatif) : ID de publication. (Par défaut : identifiant du message actuel) has_post_thumbnail()的使用示例
Supposons que vous développiez un thème dans lequel chaque article de blog doit avoir une « image en vedette », donc si aucune image en vedette n'est définie, vous souhaitez qu'une « image par défaut » soit affichée. Voici ce que vous devez faire :
<?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' ); */ ?>
is_comments_popup()
Vous ne devriez pas juger quiconque utilise un thème d’il y a 10 ans ou qui aime le rétro. Si vous développez un plugin, vous devez tout considérer, y compris l'utilisation d'un thème avec une fenêtre contextuelle de commentaire. Pour déterminer cela, vous pouvez utiliser des balises conditionnelles is_comments_popup()
.
Cette balise conditionnelle n’accepte aucun paramètre.
is_404()
Les pages d'erreur « Introuvable » sont généralement des pages que nous détestons voir sur les sites Web, donc nous ne nous soucions pas vraiment de leur apparence. Cependant, lorsque vous utilisez correctement ces pages d'erreur, vous pouvez les transformer en pages utiles qui informent les utilisateurs ou les aident à naviguer. Les balises conditionnelles is_404()
nous aident à déterminer s'il faut afficher une erreur 404 à l'utilisateur.
Cette balise conditionnelle n’accepte aucun paramètre.
Exemples d'utilisation deis_404()
Supposons que vous développiez un plugin qui enregistre les liens internes rompus et que vous souhaitiez exécuter votre fonction chaque fois qu'une page d'erreur 404 est consultée. Voici ce que vous devez faire :
<?php add_filter( 'template_redirect', 'my_plugin_check_404_pages' ); function my_plugin_check_404_pages() { if ( is_404() ) { my_plugin_404_logger_function(); } } ?>
taxonomy_exists()
Si vous devez vérifier si une taxonomie personnalisée est enregistrée, vous pouvez utiliser la balise conditionnelle taxonomy_exists()
pour laisser votre code la déterminer.
Cette balise conditionnelle n'a qu'un seul paramètre :
$taxonomy
(Chaîne, obligatoire) : Le nom de la taxonomie. (Par défaut : Aucun) is_search()
Bien que quelque peu sous-estimée, la page des résultats de recherche est une partie importante d'un site Web WordPress. Si vous développez un plugin ou un thème, vous pouvez détecter ces pages à l'aide de is_search()
balises conditionnelles.
Cette balise conditionnelle n’accepte aucun paramètre.
Exemples d'utilisation deis_search()
Supposons que vous souhaitiez inclure un lien de recherche Google avec le même terme. Voici ce que vous devez faire :
<?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>'; } ?>
is_tag()
Vous souhaitez traiter les fichiers de balises différemment ? Les balises conditionnelles is_tag()
peuvent vous aider. Vous souhaitez traiter différemment une balise spécifique ? Transmettez simplement le nom de la balise, le slug ou l'ID (ou un tableau d'entre eux) comme paramètres !
Cette balise conditionnelle n'a qu'un seul paramètre :
$tag
(tableau/chaîne, facultatif) : l'ID, le nom, le slug ou un tableau de ceux-ci. (Par défaut : Aucun) has_excerpt()
Il existe deux types d'« extraits » dans les articles WordPress : cela s'appelle un « extrait personnalisé » si vous souhaitez l'écrire vous-même, et un « extrait automatique » est généré si vous ne le faites pas (par défaut, ce sont les 55 premiers mots de le poste). has_excerpt()
La balise conditionnelle vérifie si l'utilisateur a défini un extrait personnalisé pour une publication donnée.
Cette balise conditionnelle n'a qu'un seul paramètre :
$post_id
(entier, facultatif) : ID de publication. (Par défaut : identifiant du message actuel) has_excerpt()
Supposons que vous créez un thème et que vous souhaitez afficher un extrait personnalisé sur la page d'accueil, mais que vous ne souhaitez pas afficher l'extrait automatique. Voici ce que vous devez faire :
<?php if ( has_excerpt() ) { the_excerpt(); } ?>
is_main_query()
WordPress 使用 WP_Query
类来列出帖子 - 无论是帖子标题列表还是存档页面中完整帖子的索引。许多函数使用 WP_Query
类,is_main_query()
就是其中之一。此条件标记检测查询是否不是“辅助查询”,而是“主查询”。
此条件标记不接受任何参数。
has_tag()
有时,您可能需要检查帖子是否具有某些标签,以使该帖子(或多个帖子)的行为与其他帖子不同。为此,您可以使用 has_tag()
来检查帖子是否带有您指定的标签。 (注意:它允许您指定多个要查找的标签。)
此条件标记有两个参数:
$tag
(数组/字符串,可选):标签的名称、ID、slug 或这些的数组。 (默认:无)$post
(对象,可选):发布以进行检查。 (默认:当前帖子)has_tag()的使用示例
假设您的博客文章有“徽章”(例如“新”、“精选”和“过时”),这些“徽章”将通过使用相应的标签来激活,并且您想要回显帖子内的图像。这是你要做的:
<?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>'; ?>
is_blog_installed()
如果安装了 WordPress,此特定条件标记将返回 TRUE
。我添加此条件标签仅供参考,因为从技术上讲,它对于插件或主题开发人员来说没有用处,也许可以在某些外部 WordPress 工具中使用。
此条件标记不接受任何参数。
is_super_admin()
在多站点网络中,有一个“超级管理员”可以管理所有站点。要检测用户是否是“超级管理员”(或常规 WordPress 安装中的常规管理员),您可以使用 is_super_admin()
条件标签。
此条件标记只有一个参数:
$user_id
(整数,可选):用户 ID。 (默认:当前用户)is_super_admin()的使用示例
假设您不喜欢“Howdy”问候语并且想要更改它,但您的用户喜欢它并希望保留它。在这种情况下,您需要一个仅适用于您的解决方案。这是你要做的:
<?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; } ?>
is_page()
在 WordPress 中,“页面”是五种内置帖子类型之一,其他类型还有帖子、修订、附件和导航菜单。如果您想检测某个页面(或一般情况下的任何页面),您可以使用条件标签 is_page()
。
此条件标记只有一个参数:
$page
(数组/字符串,可选):页面 ID、标题、slug 或其中的数组。 (默认:无)在这一部分中,我们回顾了 WordPress 中另一批记录的 65 个条件标签。在接下来的部分中,我们将讨论剩下的 39 篇文章。如果您有任何问题或意见,请在下面提出 - 如果您喜欢这篇文章,请不要忘记分享!
下一部分见!
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!