Comprendre et utiliser les fonctions return() de WordPress

Table des matières

J’ai surpris quelques développeurs WordPress qui ne connaissaient pas les fonctions return, pourtant bien utiles au demeurant. Loin de moi l’idée de les blâmer mais plutôt une belle opportunité pour partager !

Tout est parti d’une situation simple : je voulais cacher la barre d’administration de WordPress lorsqu’un utilisateur était connecté sur le site. Quelques minutes et une recherche Google plus tard, je tombe sur cette ligne à glisser dans le fichier functions.php :

add_filter( 'show_admin_bar', '__return_false' );

Top ça marche. Pour celles et ceux qui sont à l’aise avec les hooks dans WordPress, vous ne serez pas étonnés que cette petite ligne modifie la valeur de show_admin_bar qui permet d’afficher (ou non) la barre d’admin de WordPress. On modifie cette valeur avec __return_false. Au premier abord, on pourrait penser à une notation un peu farfelue pour ne pas déclarer une fonction et retourner directement une valeur.

Que nenni, c’est bel et bien une fonction de WordPress ! Ca évite d’être trop verbeux ou trop spécifique, dans ce genre là : 

add_filter( 'show_admin_bar', 'fantassin_hide_admin_bar' );
 
function fantassin_hide_admin_bar() {
  return false;
}

ou avec une fonction anonyme :

add_filter( 'show_admin_bar', function() {
  return false;
} );

Est-ce que c’est uniquement lié à afficher/cacher la barre d’administration de WordPress ? Certainement pas. On peut très bien désactiver le XML-RPC si on ne l’utilise pas dans un soucis de sécurité avec :

add_filter( 'xmlrpc_enabled', '__return_false' );

Et comme les développeurs détestent se répéter, il existe une collection de fonctions bien pratique du genre.

S’il existe __return_false() tu te doutes que __return_true() existe aussi pour faire l’inverse.

Le nom de ces méthodes parle de lui même mais voici un petit panel à mettre dans sa boîte à outils :

  • __return_false : fonction qui retourne la valeur booléenne “faux” ; 
  • __return_true : fonction qui retourne la valeur booléenne “vrai” ;
  • __return_empty_string : fonction qui retourne une chaîne de caractère vide ;
  • __return_zero : fonction qui retourne le chiffre 0 ;
  • __return_null : fonction qui retourne null ;
  • __return_empty_array : fonction qui retourne un tableau vide.

Voici quelques exemples pratiques d’utilisation de ces différentes fonctions : 

Désactiver les styles de WooCommerce

add_filter( 'woocommerce_enqueue_styles', '__return_empty_array' );

Supprimer le text dans le pied de page de l’administration de WordPress

add_filter( 'admin_footer_text', '__return_empty_string' );

Supprimer le titre “Articles similaires” de Jetpack

add_filter( 'jetpack_relatedposts_filter_post_context', '__return_empty_string' );

Supprimer la gestion des (trop) grandes images dans WordPress

add_filter( 'big_image_size_threshold', '__return_false' );

Bref, j’espère que ça te sera utile, que tu le garderas précieusement pour l’utiliser à bon escient !


Décortiquons d’autres aspect de WordPress