Maison > développement back-end > tutoriel php > Libérez la puissance des balises conditionnelles pour dynamiser votre blog

Libérez la puissance des balises conditionnelles pour dynamiser votre blog

PHPz
Libérer: 2023-08-28 08:34:01
original
1142 Les gens l'ont consulté

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.


Qu'est-ce qu'une « balise conditionnelle » ?

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.


Fonction 1. Afficher un message contextuel sur la page d'accueil 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});
});
Copier après la connexion

Après cela, placez le code HTML du popup (l'ID CSS est "mypopup") dans le fichier mypopup”)放入主题的 index.php 文件中,并将其隐藏在 style.css 文件(带有“#mypopup {display:none;}index.php

du thème et cachez-le dans le fichier

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');
Copier après la connexion
Collez-le dans votre fichier

functions.php

et vous êtes prêt à partir !

Remarque :
Pour faire disparaître la popup, vous devez ajouter un lien vers la popup. Cela le fera :

<a href="javascript:$.colorbox.close();">Close</a>
Copier après la connexion
is_page()Fonctionnalité 2.

Incluez du code CSS et JS supplémentaire dans des pages spécifiques en utilisant

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');
Copier après la connexion
Comme pour le premier exemple, il suffit de l'ajouter à votre fichier 123functions.php

. (N'oubliez pas de remplacer le numéro «
» par l'identifiant de votre page !)

in_category()Fonctionnalité 3.

Section "Plus dans cette catégorie" pour les articles de catégorie spéciale in_category()

Ce n'est pas toujours nécessaire, mais vous souhaiterez peut-être une section « Plus de ceci » pour une certaine catégorie (mais pas d'autres). Disons que vous avez une catégorie « Actualités » et que les autres catégories ne rentrent pas dans la section que nous souhaitons créer. Les balises conditionnelles

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;
	}
}
Copier après la connexion
Construisez cette fonction selon vos besoins et ajoutez-la à votre fichier functions.php. Ensuite, allez sur <?php more_from_category(123); ?>single.php

et placez le code (
) à l'endroit où vous souhaitez que cette section apparaisse. Tout ce à quoi vous devez penser est de placer le code dans la boucle. C'est tout !

is_preview()Fonction 4.

Utilisez

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');
Copier après la connexion
Bien sûr, cela ne suffit pas - vous devez modifier

style.css

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;
}
Copier après la connexion

Et voilà !

is_404()Fonction 5.

Utilisez

pour supprimer certains éléments de la page 404


C’est l’astuce la plus simple de toutes. Je pense que cela n'a même pas besoin d'explication - enveloppez simplement ces "certains éléments" (les choses que vous ne voulez pas afficher sur la page d'erreur, comme les publicités) avec le code ci-dessous et vous êtes prêt à partir ! p>
if(!is_404()) {
	// Here comes the "certain elements". It's that easy. Seriously.
}
Copier après la connexion
has_excerpt()Fonction 6.

N'est plus utilisée

Afficher l'extrait généré automatiquement Je

déteste

les 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();
	}
}
Copier après la connexion
Ajoutez-le au fichier the_excerpt() 的实例更改为 full_excerpt()functions.php

et il ne vous reste plus qu'à 🎜. 🎜

函数 7. 使用 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
	// ...
}
Copier après la connexion

功能 8. 使用 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');
Copier après la connexion

函数9. 如果帖子没有,则显示默认缩略图 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" />';
}
Copier après la connexion

这样,您就可以保持主题外观的一致性。


功能10.使用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>';
	}
}
Copier après la connexion

这是一个标准的“标题和列表”代码,您应该使用该代码使其像您的侧边栏 divs 然后放置代码 <?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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal