Tutoriels WordPress de confiance, quand vous en avez le plus besoin.
Guide du débutant pour WordPress
WPB Cup
25 millions+
Sites web utilisant nos plugins
16+
Années d'expérience WordPress
3000+
Tutoriels WordPress par des experts

Qu'est-ce que : Filtre

Dans le développement WordPress, un filtre peut être utilisé pour modifier ou étendre les fonctionnalités de WordPress. Il le fait en prenant des données fournies par WordPress, en les transformant en autre chose, puis en les renvoyant.

Les filtres sont l'une des grandes fonctionnalités qui rendent WordPress si personnalisable. Ce sont des morceaux de code PHP qui sont 'accrochés' à un événement WordPress. Lorsque l'événement est déclenché, le filtre est appliqué aux données de sortie générées par le hook de l'événement.

Ils sont largement utilisés par les développeurs de plugins et de thèmes. Cependant, si vous n'êtes pas un développeur, vous pouvez coller des extraits de code du web pour ajouter de nouvelles fonctionnalités à votre site web. Beaucoup d'entre eux incluent des filtres.

Qu'est-ce qu'un filtre dans WordPress ?

Qu'est-ce qu'un Filtre dans WordPress ?

Un filtre modifiera le comportement par défaut d'une fonction spécifique sur votre site web WordPress. Il le fait en manipulant les données qu'il reçoit, puis en renvoyant ces données à WordPress avant qu'elles ne soient affichées dans le navigateur.

Par exemple, les filtres peuvent être utilisés pour tronquer du texte, modifier le formatage du contenu, attacher des liens à des articles, modifier des blocs sur une page et changer des options récupérées de la base de données. Ils pourraient également modifier la longueur d'un extrait, placer des articles similaires sous votre contenu principal, ou changer un prix dans WooCommerce.

Les filtres sont ajoutés en utilisant la fonction add_filter(). WordPress dispose de plusieurs fonctions qui vous permettent d'utiliser des actions, mais ce sont celles qui sont les plus couramment utilisées :

  • add_filter() : attache une fonction à un hook
  • remove_filter() : supprime une fonction attachée à un hook de filtre spécifié
  • doing_filter() : ceci détecte tout filtre en cours d'exécution
  • has_filter() : vérifie si un filtre a été enregistré

Les filtres sont utilisés par les développeurs de plugins et de thèmes pour ajouter des fonctionnalités supplémentaires à WordPress. Vous pouvez également utiliser des filtres pour personnaliser votre thème en ajoutant des extraits de code provenant de tutoriels en ligne.

Note: If you’re a beginner, then we strongly caution against editing any WordPress files. Only experienced users who feel comfortable with editing the functions.php file and have some knowledge of PHP should try this.

Les débutants devraient soit utiliser un plugin pour accomplir la tâche qu'ils souhaitent effectuer, soit consulter un professionnel pour modifier le code à leur place.

Avant de modifier tout code sur votre site WordPress, nous vous recommandons de sauvegarder votre site web en cas d'erreur de codage. Si vous n'avez pas de plugin de sauvegarde, assurez-vous de lire notre article où nous comparons les meilleurs plugins de sauvegarde WordPress.

Nous vous recommandons également de ne pas ajouter le code directement dans les fichiers du thème, sinon vous perdrez vos personnalisations lors de la prochaine mise à jour du thème.

Au lieu de cela, vous devriez utiliser un plugin d'extraits de code pour ajouter du code personnalisé dans WordPress, créer un plugin spécifique au site, ou créer un thème enfant et le modifier au lieu du thème parent.

Consultez notre guide sur comment mettre à jour un thème WordPress sans perdre les personnalisations.

Quelle est la différence entre les Hooks, les Actions et les Filtres ?

Pour mieux comprendre les filtres dans WordPress, il est utile de voir comment ils se rapportent à deux autres termes : les hooks et les actions. Comprendre ces trois termes ensemble rendra le terme 'filtre' un peu plus facile à appréhender.

Les hooks sont le fondement du développement de plugins et de thèmes WordPress. Ce sont des endroits où les développeurs peuvent « accrocher » leur code personnalisé à WordPress à des endroits spécifiques et modifier le fonctionnement de WordPress sans modifier les fichiers principaux.

Il existe deux types de hooks.

  • Les hooks de filtre vous permettent de changer quelque chose. Ils interceptent les données en cours de traitement et vous permettent de les modifier, puis de les renvoyer. Ils sont utilisés pour filtrer la sortie lorsqu'elle est envoyée à une base de données ou au navigateur d'un utilisateur.
  • Les hooks d'Action vous permettent de faire quelque chose. Ils vous permettent d'ajouter des fonctionnalités supplémentaires et sont exécutés lors d'événements tels que l'activation d'un thème ou d'un plugin, ou la publication d'un article. Une fois l'action effectuée, ils n'ont pas besoin de renvoyer d'informations.

Ces hooks d'action et de filtre sont le fondement de la manière dont le cœur de WordPress, les thèmes et les plugins fonctionnent. Ils travaillent ensemble pour permettre aux développeurs une grande flexibilité afin de modifier les événements, les filtres et les actions par défaut de WordPress.

Les développeurs peuvent également créer leurs propres actions et filtres personnalisés afin que d'autres développeurs puissent étendre leurs plugins ou thèmes.

Exemples de filtres WordPress

À quoi ressemble un filtre ? Voici quelques exemples.

Disons que nous voulons afficher une icône d'image lorsqu'un article appartient à une catégorie particulière. Dans ce scénario, nous créons une fonction qui vérifie si un article se trouve dans cette catégorie particulière. Si c'est le cas, nous affichons l'image.

Ensuite, nous accrochons cette fonction à l'événement the_content. Désormais, chaque fois que l'événement the_content se produit, notre fonction est automatiquement déclenchée pour filtrer la sortie de l'événement the_content.

// First we hook our own function with the_content event
add_filter( 'the_content', 'wpb_content_filter' );
 
// Now we define what our function would do.
// In this example it displays an image if a post is in news category.
function wpb_content_filter( $content ) {
    if ( in_category('news') )
        $content = sprintf('<img class="news-icon" src="%s/images/news_icon.png" alt="News icon" title="" />%s', get_bloginfo( 'stylesheet_directory' ), $content);
 
    // Returns the content.
    return $content;
}

Voici un autre exemple d'utilisation d'un filtre WordPress.

Cet exemple de code ajoute une fonction wpb_custom_excerpt au filtre get_the_excerpt.

function wpb_custom_excerpt( $output ) {
  if ( has_excerpt() && ! is_attachment() ) {
    $output .= wpb_continue_reading_link();
  }
  return $output;
}
add_filter( 'get_the_excerpt', 'wpb_custom_excerpt' );

Vous pouvez en apprendre davantage en étudiant nos guides WordPress qui utilisent des filtres. Par exemple, voici quelques guides qui vous montrent comment réaliser quelque chose de pratique en utilisant les filtres WordPress :

WordPress dispose de nombreux filtres prédéfinis qui permettent aux développeurs d'ajouter leur propre code à des points spécifiques du cœur de WordPress. L'API des plugins WordPress fournit une liste exhaustive de hooks de filtre disponibles.

Nous espérons que cet article vous a aidé à en apprendre davantage sur les filtres dans WordPress. Vous voudrez peut-être aussi consulter notre liste de lecture supplémentaire ci-dessous pour des articles connexes sur des conseils, astuces et idées utiles pour WordPress.

Si vous avez aimé ce guide, veuillez envisager de vous abonner à notre chaîne YouTube pour des tutoriels vidéo WordPress. Vous pouvez également nous trouver sur Twitter et Facebook.

Lectures supplémentaires

La boîte à outils WordPress ultime

Accédez GRATUITEMENT à notre boîte à outils - une collection de produits et de ressources liés à WordPress que tout professionnel devrait posséder !