Je suis en train de mettre à jour mon thème créé par moi-même au format HTML5 et j'ai déjà effectué un certain nombre de modifications.
La seule feuille de style de mon thème est ajoutée à l'en-tête de page via wp_enqueue_style
dans le fichier functions.php
, comme suit:
function gridded_enqueue_styles() {
wp_enqueue_style('style', get_template_directory_uri() . '/style.css', array(), null, 'all');
}
add_action('wp_enqueue_scripts', 'gridded_enqueue_styles');
Le balisage résultant est:
<link rel='stylesheet' id='style-css' href='http://grantpalin.com.dev:81/wp-content/themes/gridded/style.css' type='text/css' media='all' />
La feuille de style est chargée, la page s'affiche, tout va bien. Cependant, la spécification HTML5 indique que l'attribut type
n'est plus nécessaire pour les éléments link
, style
et script
.
En examinant la référence du codex }, je ne vois pas comment modifier ou supprimer l'attribut type
. Est-ce faisable?
La solution évidente consiste à coder en dur la référence à la feuille de style dans mon header.php
, mais cela évite les avantages de la fonctionnalité de mise en file d'attente.
Pour modifier cette sortie, vous pouvez utiliser ce filtre:
function wpse51581_hide_type($src) {
return str_replace("type='text/css'", '', $src);
}
add_filter('style_loader_tag', 'wpse51581_hide_type');
Vous pouvez voir ce crochet dans wp-includes/class.wp-styles.php
add_filter( 'style_loader_tag', 'html5_style_tag' );
function html5_style_tag( $tag ) {
return preg_replace( '~\s+type=["\'][^"\']++["\']~i', '', $tag );
}