Description

Les filtres sont très utilisés par les plugins pour modifier les différents types de données interne.

Paramètres

$tag

(string) (Requis) Nom du filtre.

$function_to_add

(callable) (Requis) Nom de la fonction à attacher à $tag.

$priority

(int) (Optionnel) Utilisé pour spécifier l'ordre dans lequel les fonctions attachées à $tag doivent être exécutées. Plus la priorité est élevée, plus la fonction est exécutée tardivement. Les fonctions ayant la même priorité sont exécutées dans l'ordre dans lequel elles ont été attaché.

Valeur par défaut : 10

$accepted_args

(int) (Optionnel) Le nombre d'arguments que la fonction accepte.

Valeur par défaut : 1

Retourne

(int) Retourne toujours true.

Structure de la fonction add_filter()

Définie dans le fichier wp-includes/plugin.php à la ligne 108 :

function add_filter( $tag, $function_to_add, $priority = 10, $accepted_args = 1 ) {
    global $wp_filter;
    if ( ! isset( $wp_filter[ $tag ] ) ) {
        $wp_filter[ $tag ] = new WP_Hook();
    }
    $wp_filter[ $tag ]->add_filter( $tag, $function_to_add, $priority, $accepted_args );
    return true;
}

Où trouver la fonction add_filter() dans le CMS Wordpress

Exemples

Usage basique, par exemple dans le fichier functions.php :
function wpdocs_manage_posts( $post_columns, $post_type ) {
   // code ici...
}
add_filter( 'manage_posts_columns', 'wpdocs_manage_posts', 10, 2 );
Utilisation au sein d'une classe, par exemple pour un plugin :
class WP_Manage_Class {
 
    /* Constructor */
    
    public function __construct() {
        add_filter( 'manage_posts_columns', array( $this, 'wpdocs_manage_posts' ), 10, 2 );
    }
 
    public function wpdocs_manage_posts() {
        // code ici...
    }
}
 
return new WP_Manage_Class ();
Utilisation pour une méthode statique :
add_filter( 'media_upload_newtab', array( 'Ma_Class', 'media_upload_callback' ) );

ou

add_filter( 'media_upload_newtab', array( __CLASS__, 'media_upload_callback' ) );
Avec une fonction anonyme :
add_filter( 'the_title', function( $title ) { return '<strong>' . $title . '</strong>'; } );

Sources

Codex Wordpress : add_filter()

Autres fonctions dans le même fichier : wp-includes/plugin.php

Retour