Bien comprendre et utiliser les hooks WordPress

Publié par Gui dans Tips, Wordpress

Les hooks (ou crochet, hameçon en français) est un mécanisme permettant d’effectuer une action supplémentaire à un instant donné prévu par le système.

Il existe deux types de hook dans WordPress :

Les actions

Tout au long du processus de construction d’une page, WordPress place des « hooks » permettant aux développeurs d’ajouter des fonctionnalités à une étape particulière. Ainsi il est facile d’enrichir le processus avec nos propres fonctions.

Exemple simple, l’action « save_post » permet de réaliser des actions supplémentaires lors de la sauvegarde d’un post (article, page ou autre). C’est par cet intermédiaire que l’on pourra sauvegarder nos méta informations (metaboxes).

Voici certaines des actions importantes :

Voyons comment facilement utiliser un hook pour ajouter le code Google Analytics dans le footer de votre thème.

Exemple avec wp_footer

Dans un fichier comme functions.php par exemple, ajoutez :

add_action('wp_footer', 'add_google_analytics');

Puis créez la fonction add_google_analytics :

function add_google_analytics()
{
	$ga = get_option('google_analytics');
	if(!empty($ga))
		echo stripslashes($ga);
}

Nous aurions très bien pu ajouter ce code directement dans le fichier footer.php. Mais ici, le code est sorti du template, ce qui est plus lisible, maintenable et réutilisable.

Les filtres

Le principe des filtres est de modifier une donnée construite par WordPress avant de l’afficher.

Voici certains filtres utiles :

Le filtre the_content va permettre de modifier le contenu d’un post avant de l’afficher. Très utile si vous avez des remplacements de chaînes à faire.

Voyons par exemple comment modifier le […] présent par défaut à la fin des extraits d’articles.

Exemple avec get_the_excerpt

add_filter('get_the_excerpt', 'new_excerpt_hellip');

La différence avec les actions, c’est le ou les paramètres passés à notre fonction qui vont nous permettre de modifier leur valeur avant de les afficher.

function new_excerpt_hellip($text)
{
   return str_replace('[...]', '...', $text);
}

Conclusion

Les hooks sont un très moyen de modifier le comportement de WordPress selon nos besoins afin soit d’y ajouter de nouvelles fonctionnalités au travers des actions ou simplement d’altérer certaines de ses méthodes via les filtres.

Il est donc vivement recommandé de les utiliser plutôt que d’intervenir directement dans les templates de fichier.

21 commentaires

1 2
1 2

Laisser une réponse


Post shadow