Ajouter l'extrait au contenu de votre article sans éditer le thème

L'inconvénient lorsqu'on utilise un thème fait par un autre, c'est que vous n'avez pas systématiquement toutes les fonctionnalités désirées, mais aussi que vous vous retrouvez avec plein de fonctionnalités qui ne vous sont pas utiles.

Prenons un exemple tout simple : la moitié des thèmes n'utilisent pas les extraits (the_excerpt), préférants l'usage de la balise more dans le contenu.
Pour pallier à cette oubli, vous pouvez directement éditer le thème, et ajouter la fonction là ou vous voulez que l'extrait apparaisse.
Gros inconvénient : si vous mettez à jour votre thème, vous perdez vos modifications et devrez tout recommencer, et ce .... à chaque mise à jour.

La bonne solution consiste à utiliser les filtres wordpress. La majorité des blogueurs utilisent leur fichier functions.php pour cela. Mais là encore, ce fichier étant dans votre dossier thème, une mise à jour de votre thème a toutes les chances de vous faire perdre aussi vos modifications. Il faut créer un plugin wordpress pour customiser votre thème à volonté (voir l'article : créer un plugin wordpress), sans risque de perdre vos modifications à chaque mise à jour.

But : ajouter the_excerpt à the_content pour les pages (page.php) et les articles (single.php)

Solution : WordPress Filters

<?php
/*
Plugin Name: My Custom Premium Theme
Plugin URI: http://patricelaurent.net
Description: Customize your premium wordpress theme.
Version: 1.0
Author: Patrice LAURENT
Author URI: http://patricelaurent.net
*/

// Add filter to the_content
add_filter('the_content', 'mcpt_excerpts');

function mcpt_excerpts($content = false) {

	// If is the home page, an archive, or search results
	if(is_single() || is_page()) :
	global $post;

	$contentupdated = '<p>'.$post->post_excerpt.'</p><p>' . $content . '</p>';
	// Make sure to return the content
	return $contentupdated;
	else :
	return $content;
	endif;

}
?>

Laisser un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.