Tutoriel Wordpress
Tutoriel Wordpress

5 snippets pour WordPress

Voici 5 fonctions que j’intègre souvent lorsque j’utilise le CMS WordPress. Vous pouvez les copier-coller dans le fichier [ function.php ] qui se trouve à la racine du répertoire de votre thème actif : [ www/wp-content-themes/votre-theme-actif/function.php ].

Ces fonctions permettent d’alléger le temps de chargement des pages en désactivant certaines fonctionnalités qui ne sont pas réellement indispensables au fonctionnement de WordPress.

1• Supprimer les infos de version de WordPress dans le <head>

Ce snippet permet de masquer le numéro de version de WordPress dans le <head>. C’est une « petite » sécurité. Inutile de révéler la version courante de votre système, d’autant plus si elle n’est pas à jour…

 
//
// Remove WordPress VERSION in head
//
remove_action( 'wp_head', 'wp_generator' ); 
// 

2• Désactiver WP-embed

Wp-embed permet un aperçu des IFRAMES ( une vidéo YOUTUBE par exemple ) dans l’éditeur [TinyMCE]. Ce n’est pas vraiment utile.

 
//
// Dequeue WP-EMBED
//
wp_dequeue_script( 'wp-embed' ); 
// 

3. Désactiver Gutenberg

Je ne suis pas un grand adepte de GUTENBERG présenté par WordPress comme une révolution. Je sais que les constructeurs [ comme DIVI, ou ELEMENTOR ] plaisent beaucoup car ils donnent une sensation d’autonomie, mais le revers de la médaille c’est que vous allongerez considérablement le temps de chargement de vos pages. Pour ma part je préfère utiliser l’éditeur classique [TinyMCE] qui est certes sommaire, mais plus efficace. Ce snippet permet de désactiver les librairies de style de Gutenberg et d’alléger le poids des pages.

//
// Remove GUTENBERGER//
//
function viz_remove_gutenberg(){
  wp_dequeue_style( 'wp-block-library' );
  wp_dequeue_style( 'wp-block-library-theme' );
  wp_dequeue_style( 'wc-block-style' );
//
}
//
add_action( 'wp_enqueue_scripts', 'viz_remove_gutenberg', 100 );
//

4. Désactiver les EMODJIs

Depuis WordPress 4.2., un fichier javascript [wp-emoji-release.min.js] est chargé sur toutes les pages. Cela crée une requête HTTP supplémentaire, dont on peut se passer puisque ce script permet de détecter et de convertir des suites de caractères en EMODJIS. Ce n’est pas réellement utile puisqu’un simple copier-coller d’une librairie emodjis permet d’arriver au même résultat.

// 
// Disabling emodji library from WordPress
// 
function viz_disable_emodjis() { 
  remove_action( 'wp_head', 'print_emoji_detection_script', 7 ); 
  remove_action( 'admin_print_scripts', 'print_emoji_detection_script' ); 
  remove_action( 'wp_print_styles', 'print_emoji_styles' ); 
  remove_action( 'admin_print_styles', 'print_emoji_styles' ); 
  remove_filter( 'the_content_feed', 'wp_staticize_emoji' ); 
  remove_filter( 'comment_text_rss', 'wp_staticize_emoji' ); 
  remove_filter( 'wp_mail', 'wp_staticize_emoji_for_email' ); 
// Dans l'éditeur également [tinyMCE}
  add_filter( 'tiny_mce_plugins', 'disable_emojis_tinymce' );
  add_filter( 'wp_resource_hints', 'disable_emojis_remove_dns_prefetch', 10, 2 );
} 
//
add_action( 'init', 'viz_disable_emojis' );
//

5. Afficher les performances de BDD

Il peut être utile de mesurer les performances des requêtes de base de donnée, le temps de chargement des pages, la mémoire consommée. Avec la fonction PHP microtime() vous connaîtrez exactement le temps qu’il faut à votre code PHP pour être exécuté.

//
// BDD Performances in footer
//
function performance( $visible = false ) { 
  $stat = sprintf( '%d queries in %.3f seconds,
  using %.2fMB memory',
  get_num_queries(),
  timer_stop( 0, 3 ), memory_get_usage() / 1024 / 1024 );

  echo $visible ? $stat : "<!-- {$stat} -->" ;
}
add_action( 'wp_footer', 'performance', 20 );
//