web-dev-qa-db-fra.com

À quel point est-il important de mettre en file d'attente la feuille de style d'un thème?

J'ai parcouru le réseau à la recherche d'une réponse, mais pour une raison quelconque, je ne trouve que des exemples concrets, mais sans cette explication particulière, ce qui est clair dans le cas des scripts. Quelqu'un peut-il m'expliquer pourquoi il est important/avantageux de mettre en file d'attente les styles lors du développement d'un thème, plutôt que d'utiliser simplement <link rel=stylesheet> dans header.php.

Aussi, qu'en est-il de la feuille de style par défaut du thème, devrait-elle également être mise en file d'attente?

19
byronyasgur

Il est important de mettre en file d'attente la feuille de style, car elle donnera aux thèmes enfants la possibilité de la mettre en file d'attente, tout en lui permettant d'être répertoriée pour les dépendances et une multitude d'autres choses. Cela permet généralement une plus grande flexibilité, à la fois pour vous et pour les autres développeurs qui interagissent avec votre code.

Il est également important de noter que l’utilisation de la feuille de style par défaut dans votre thème n’est pas une obligation. La feuille de style doit être PRÉSENTE, mais si vous l'utilisez uniquement pour nommer votre thème, définir la version, etc., wordpress convient parfaitement, tout comme les personnes qui approuvent les thèmes du référentiel principal.

17
mor7ifer

En complément de l'autre réponse de @ m0r7if3r:

Vous pouvez utiliser current_theme_supports() pour charger la feuille de style des thèmes parents uniquement si un thème est pris en charge.

function add_supported_stylesheets()
{
    if ( current_theme_supports( 'parent-stylesheet' ) )
        wp_enqueue_style( 'main', get_stylesheet_directory_uri().'/style.css', array(), filemtime( get_stylesheet_directory().'/style.css' );
}

// In your parent themes bootstrap in the functions.php file
// Add the theme support:
add_theme_support( 'parent-stylesheet' );
// Then add the stylesheet:
add_action( 'after_setup_theme', 'add_supported_stylesheets', 20 );

Notez que cette fonction ajoute filemtime à la version-nr. pour empêcher la mise en cache du navigateur si le contenu des fichiers a été modifié.

Cela permettra à vos utilisateurs de désactiver la feuille de style dans l'amorçage des thèmes enfants avec un simple appel fn:

remove_theme_support( 'parent-stylesheet' );
// ...or...
add_theme_support( 'parent-stylesheet' );
16
kaiser

Une autre raison pour la mise en file d'attente est qu'elle permet aux plugins de faire des choses avec les styles. Par exemple, Better WordPress Minify va automatiquement et concaténer des fichiers CSS, et WP-LESS compilera vos fichiers LESS et les mettra en cache à la volée. Ils y parviennent tous les deux en s’accrochant à la file d’attente des styles et en traitant les fichiers qui y sont alignés.

Il peut y avoir des raisons spécifiques pour lesquelles vous avez besoin d'exclure certains styles de ce type de choses, mais il est généralement bon de rendre vos styles disponibles avec une fonctionnalité aussi utile.

3
Steve Taylor