[WordPress] Une balise PHP <body> avancée pour vos thèmes


« The mother of all WordPress body tags » est issue du développement de mimo Y mima. Ce bout de code à placer dans vos templates de thèmes vous permettra de mieux contrôler ce que vous affichez grâce à l’ajout de nombreuses classes CSS en fonction du contexte.

Cette balise ultime permet d’insérer la page sur laquelle on se trouve, l’identifiant de la page mère si elle existe, le type de page (recherche, catégorie, tag, …).

Vous pouvez maintenant baser vos thèmes sur ces critères et donc différencier les styles CSS.

Voici le code à utiliser :

<body
	id="
		<?php
		$post_parent = get_post($post->post_parent);
		$parentSlug = $post_parent->post_name;
		if (is_category()) { echo "CategoryPage"; }
		elseif (is_search()) { echo "SearchResults"; }
		elseif (is_tag()) { echo "Tag"; }
		else { echo $parentSlug; }
		?>"
	class="
		<?php global $wp_query;
		$template_name = get_post_meta( $wp_query->post->ID, '_wp_page_template', true );
		$tn = str_replace(".php", "", $template_name); echo "template-".$tn." "; ?
		>

		<?php
		if (is_category()) { echo 'category'; }
		elseif (is_search()) { echo 'search'; }
		elseif (is_tag()) { echo "tag"; }
		elseif (is_home()) { echo "home"; }
		elseif (is_404()) { echo "page404"; }
		else { echo $post->post_name; }
		?>"
>

Toujours pratique. Je pense qu’on peut y ajouter pleins de choses en gardant le même principe.