La plupart des éléments suivants se trouvent dans le Codex :
apply_filters
Les fonctions de rappel attachées au hook de filtre $tagsont appelées en appelant cette fonction. Cette fonction peut être utilisée pour créer un nouveau hook de filtre en appelant simplement cette fonction avec le nom du nouveau hook spécifié à l'aide du paramètre $ tag.
$value = apply_filters( $tag, $value, $var_1, $var_2, ... );
Essentiellement:
vous utilisez apply_filterspour filtrer une donnée $value- en ce qui concerne la valeur elle-même ainsi que les variables éventuellement fournies $var_1via $var_n.
add_filter
Accrochez une fonction à une action de filtrage spécifique.
add_filter( $tag, $function_to_add, $priority, $accepted_args );
Essentiellement:
vous utilisez add_filterpour accrocher une fonction personnalisée à l'action de filtrage donnée ( $tag), que vous avez peut-être générée apply_filtersavant (ou c'était une action de filtrage intégrée ou découle d'un plugin / de votre thème).
Voici donc un exemple
fictif :
function print_initials( $name ) {
if ( ! is_string( $name ) ) {
return;
}
$fragments = explode( ' ', $name );
/**
* Filter wether to print initials in reverse order.
*
* @param bool $reverse Print initials in reverse order?
*/
if ( apply_filters( 'reverse_initials', FALSE ) ) {
$fragments = array_reverse( $fragments );
}
foreach ( $fragments as $f ) {
echo substr( $f, 0, 1 );
}
}
print_initials( 'Some Guy' ); // outputs: SG
add_filter( 'reverse_initials', '__return_true' );
print_initials( 'Some Guy' ); // outputs: GS
Maintenant, si nous appelons simplement notre fonction telle quelle, les initiales sont imprimées de gauche à droite, car c'est ce que nous avons défini comme comportement par défaut.
La deuxième fois, nous obtenons les initiales dans l'ordre inverse, car la fonction de filtrage __return_true, qui est liée à notre action de filtrage, revient toujours TRUEet fait donc sortir les initiales de droite à gauche.