Retirer le superflu du header de WordPress

Par défaut, WordPress insère automatiquement des lignes de codes qui ne sont pas forcément nécessaires.


J’ai pour habitude de faire le tri dans le code généré automatiquement par WordPress, notamment afin de cacher la barre d’administration sur la partie Frontend ou bien supprimer le numéro de version WP insérée dans le header.

Vous pouvez utiliser le code suivant (publié et mis à jour sous Gist) qui est plus ou moins celui que j’utilise (à ajuster en fonction des besoins).

Ce code est à placer directement dans le fichier functions.php de votre thème enfant ou bien, comme je l’ai fait, de placer cela dans un mu-plugin (pour être sûr que le code reste activé même si vous changez de thème dans le futur).

Un Mu-Plugin (Must-Use Plugin) est un plugin chargé par WordPress avant le chargement des extensions de l’utilisateur. Il sera impossible de le désactiver via l’interface d’administration.

Il suffit pour cela de créer un fichier .php dans le répertoire des mu-plugin (qui par défaut n’existe pas dans l’installation de WordPress). Attention, faut que le fichier se situe directement dans le dossier mu-plugins (et non pas dans un sous-dossier). Par exemple :

wp-content/mu-plugins/nettoyage-header-wp.php 

 

<?php

function nettoyage_header()
{
//Cache la barre d'admin du côté frontend
add_filter('show_admin_bar', '__return_false');
//Retire la meta Generator avec la version de WP
add_filter('the_generator', '__return_false');
remove_action( 'wp_head', 'wp_generator' );
//Retire la meta Generator du Plugin RevSlider
add_filter('revslider_meta_generator','__return_false');
//Désactive les scripts relatifs aux emoji's rajoutés par WP
add_action( 'init', 'disable_emojis' );
// EditURI link
remove_action( 'wp_head', 'rsd_link' );
// windows live writer
remove_action( 'wp_head', 'wlwmanifest_link' );
// index link
remove_action( 'wp_head', 'index_rel_link' );

// remove WP version from css
add_filter( 'style_loader_src', 'remove_wp_ver_css_js', 9999 );
// remove Wp version from scripts
add_filter( 'script_loader_src', 'remove_wp_ver_css_js', 9999 );
}

add_action( 'after_setup_theme', 'nettoyage_header', 20);

// retirer la version WP depuis le RSS
function laboiteare_rss_version() { return ''; }

// Retirer le P autour des IMG (http://css-tricks.com/snippets/wordpress/remove-paragraph-tags-from-around-images/)
function laboiteare_filter_ptags_on_images($content)
{
    return preg_replace('/<p>\s*(<a .*>)?\s*(<img .* \/>)\s*(<\/a>)?\s*<\/p>/iU', '\1\2\3', $content);
}


// remove WP version from scripts
function remove_wp_ver_css_js( $src ) {
    if ( strpos( $src, 'ver=' ) )
        $src = remove_query_arg( 'ver', $src );
    return $src;
}

/**
 * Disable the emoji's
 */
function disable_emojis() {
    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' );
    add_filter( 'tiny_mce_plugins', 'disable_emojis_tinymce' );
}

/**
 * Filter function used to remove the tinymce emoji plugin.
 *
 * @param    array  $plugins
 * @return   array             Difference betwen the two arrays
 */
function disable_emojis_tinymce( $plugins ) {
    if ( is_array( $plugins ) ) {
        return array_diff( $plugins, array( 'wpemoji' ) );
    } else {
        return array();
    }
}

 

Et vous ? avez-vous l’habitude de retirer d’autres lignes ou effectuer des modifications systématiquement sur vos nouveaux sites WordPress ? Laissez un commentaire pour donner votre avis.

Laissez un commentaire





Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.