add_filter( string $tag, callable $function_to_add, int $priority = 10, int $accepted_args = 1 )
Attache une fonction ou une méthode à un filtre spécifique.
Paramètres
$tag
(string)requisNom du filtre.
$function_to_add
(callable)requisNom de la fonction à attacher à $tag.
$priority
(int)optionnelUtilisé 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)optionnelLe 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()
add_filter()
est déclarée dans le fichier wp-includes/plugin.php
à la ligne 121 :
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
function wpdocs_manage_posts( $post_columns, $post_type ) {
// code ici...
}
add_filter( 'manage_posts_columns', 'wpdocs_manage_posts', 10, 2 );
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 ();
add_filter( 'media_upload_newtab', array( 'Ma_Class', 'media_upload_callback' ) );
ou
add_filter( 'media_upload_newtab', array( __CLASS__, 'media_upload_callback' ) );
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