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

Description / Informations supplémentaires

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

Retourne

(int) Retourne toujours true.

Déclaration et structure de la fonction add_filter()

function add_filter( $hook_name, $callback, $priority = 10, $accepted_args = 1 ) {
    global $wp_filter;

    if ( ! isset( $wp_filter[ $hook_name ] ) ) {
        $wp_filter[ $hook_name ] = new WP_Hook();
    }

    $wp_filter[ $hook_name ]->add_filter( $hook_name, $callback, $priority, $accepted_args );

    return true;
}

Où est utilisée 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