Maison > Article > développement back-end > Libérez la puissance des balises conditionnelles pour dynamiser votre blog
Les balises conditionnelles sont l’une des nombreuses structures intéressantes de WordPress qui peuvent nous aider à faciliter le développement de WordPress. Dans cet article, nous en découvrirons certains et les utiliserons dans des exemples de fonctions, telles que la suppression du contenu d'une page d'erreur ou la modification de l'icône d'une page d'administration.
Ce sont essentiellement des « questions par oui ou par non » : lorsque vous les utilisez, elles renvoient simplement VRAI ou FAUX. Nous les utilisons dans les déclarations if
- si la déclaration est VRAIE ou FAUX, nous pouvons traiter notre code en fonction de la réponse.
Vous pouvez afficher toutes les balises conditionnelles dans WordPress Codex.
Maintenant, passons à la partie amusante ! Il existe dix fonctions intéressantes qui utilisent des balises conditionnelles dans cet article.
is_front_page()
Accueillir vos visiteurs depuis la page d'accueil peut les rendre heureux, ou vous pouvez leur donner un avertissement concernant une maintenance programmée, ou vous pouvez afficher une annonce pop-up effrayante. Peu importe ce que vous devez faire, voici les étapes :
Tout d’abord, vous devez obtenir le plugin Colorbox jQuery ici. Récupérez colorbox.min.js (et le dossier "images" correspondant) à partir du dossier "colorbox/colorbox" et colorbox.css et copiez-les dans le dossier "colorbox" à l'intérieur de votre dossier de thème .
Ensuite, vous devez créer un fichier colorbox.load.js pour charger la popup. Mettez également ce fichier dans le dossier "colorbox":
jQuery(document).ready(function($) { var $popup = $("#mypopup"); $.colorbox({href:$popup}); });
Après cela, placez le code HTML du popup (l'ID CSS est "mypopup
") dans le fichier mypopup
”)放入主题的 index.php 文件中,并将其隐藏在 style.css strong> 文件(带有“#mypopup {display:none;}
index.php
style.css (avec There est "#mypopup {display:none;}
").
function front_popup() {
if(is_front_page()) {
// load colorbox.min.js
wp_enqueue_script('colorbox-js', get_template_directory_uri().'/colorbox/colorbox.min.js',array('jquery'));
// load colorbox.load.js
wp_enqueue_script('colorbox-load-js', get_template_directory_uri().'/colorbox/colorbox.load.js',array('colorbox-js'));
// load colorbox.css
wp_enqueue_style('colorbox-css', get_template_directory_uri().'/colorbox/colorbox.css');
}
}
add_action('wp_head','front_popup');
Collez-le dans votre fichier
et vous êtes prêt à partir !
Remarque :<a href="javascript:$.colorbox.close();">Close</a>
is_page()
Fonctionnalité 2.
Vous devrez peut-être charger des fichiers JavaScript ou CSS externes pour des pages spécifiques, telles que votre page À propos ou la page de téléchargement d'un produit. Oui, vous pouvez également les inclure dans votre contenu, mais ce n’est pas une bonne pratique. C'est une bonne pratique :
function extra_assets() {
if(is_page(123)) { // '123' is the ID of the page we are checking for
wp_enqueue_script('my-script', get_template_directory_uri().'/some/path/in/your/theme/folder/script.js');
wp_enqueue_style('my-style', get_template_directory_uri().'/some/path/in/your/theme/folder/style.css');
}
}
add_action('wp_head','extra_assets');
Comme pour le premier exemple, il suffit de l'ajouter à votre fichier 123
functions.php
in_category()
Fonctionnalité 3. Section "Plus dans cette catégorie" pour les articles de catégorie spéciale
in_category()
nous aideront à :
function more_from_category($cat_ID) {
if(in_category($cat_ID) {
$posts = get_posts('numberposts=5&category='.$cat_ID);
$output = '<h3>More from this category</h3>';
$output.= '<ul>';
foreach($posts as $post) {
$output.= '<li><a href="'.get_permalink().'">'.get_the_title.'</a></li>';
}
wp_reset_query();
$output.= '</ul>';
echo $output;
}
}
Construisez cette fonction selon vos besoins et ajoutez-la à votre fichier functions.php. Ensuite, allez sur <?php more_from_category(123); ?>
single.php
is_preview()
Fonction 4.pour vous rappeler (ou rappeler à votre auteur) que vous êtes toujours sur la page d'aperçu Ce n'est pas obligatoire (après tout, nous apprenons juste des exemples de ces balises conditionnelles), mais cela pourrait être une bonne idée de vous rappeler (ou de rappeler à votre auteur) que la page affichée est la page « aperçu ». Ajoutez ceci au fichier
functions.php de votre thème :
function preview_warning() {
if(is_preview()) {
echo '<div id="preview-warning">Remember, you\'re still on the Preview page!<div>';
}
}
add_action('the_content','preview_warning');
Bien sûr, cela ne suffit pas - vous devez modifier
pour donner une forme au texte d'avertissement. Des choses comme ça :
#preview-warning { background:#800; line-height:50px; font-size:30px; font-weight:bold; text-align:center; position:fixed; bottom:0; }
is_404()
Fonction 5.pour supprimer certains éléments de la page 404
if(!is_404()) { // Here comes the "certain elements". It's that easy. Seriously. }
has_excerpt()
Fonction 6.Afficher l'extrait généré automatiquement Je
détesteles extraits générés automatiquement. Je les ai donc supprimés - en utilisant le code fourni dans le Codex :
function full_excerpt() {
if (!has_excerpt()) {
echo '';
} else {
echo get_the_excerpt();
}
}
Ajoutez-le au fichier the_excerpt()
的实例更改为 full_excerpt()
functions.php
is_date()
仅列出基于日期的档案中的帖子标题(而不是完整帖子)
有时,在某些存档页面(例如基于日期的存档)上仅列出标题就足够了。因此,例如条件标签 is_date()
,我们将删除循环中除标题之外的内容。
这有点棘手,因为每个主题中的 archive.php 文件都不同。 (如果您的主题中有 date.php 文件,您应该编辑该文件。)在代码中查找 The Loop 并使用以下内容更改 The Loop 内的代码:
if(is_date()) { // If your theme uses h2 headings for post titles, use h2. If it uses h1, use h1. echo '<h2>'.the_title().'</h2>'; } else { // ... // The original code inside The Loop // ... }
is_admin()
如果您喜欢使用 20 个打开的选项卡(全部用于您的博客),那么此技巧可能会非常方便。只需稍微编辑您的网站图标并将其另存为 adminfav.ico - 例如,我的管理面板网站图标只是我原始网站图标的红色版本。
无论如何,您可以这样做:
function admin_favicon() { if(is_admin()) { echo '<link rel="shortcut icon" href="'.get_bloginfo('url').'/adminfav.ico" />'; } } add_action('admin_head','admin_favicon');
has_post_thumbnail()
这是一个好的主题必须具备的条件。如果您的主题中有任何显示特色图像缩略图的部分,您应该将 the_post_thumbnail()
函数替换为以下代码:
if(has_post_thumbnail()) { the_post_thumbnail(); } else { echo '<img src="'.get_template_directory_uri().'/images/default-thumb.jpg" alt="'.get_the_title().'" class="default-thumb" />'; }
这样,您就可以保持主题外观的一致性。
is_user_logged_in()
为您的登录会员显示一个特殊菜单
如果您在 WordPress 中使用会员系统并拥有会员,您可能需要为您登录的会员创建一个特殊的菜单。方法如下:
function member_menu() { if(is_user_logged_in()) { echo '<div class="member-menu"><h2>Member Menu</h2><ul><li><a href="#">First Menu Item</a></li><li><a href="#">Second Menu Item</a></li><li><a href="#">Third Menu Item</a></li></ul></div>'; } }
这是一个标准的“标题和列表”代码,您应该使用该代码使其像您的侧边栏 div
s 然后放置代码 <?php member_menu(); ?>
在主题的 sidebar.php 文件中。
此外,这只是一个示例,但理想情况下您可以在此处使用 WordPress 自定义菜单和 wp_nav_menu()
。一项标准和一项会员,然后您可以继续从 WordPress 管理仪表板管理它们。您可以在此处阅读有关 wp_nav_menu()
函数的更多信息。
这是我最喜欢的 10 个使用条件标签的想法。你的呢?如果您有任何要分享的内容,请在下面发表评论,以便我们可以扩展这篇文章并提供更多想法!
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!