Dans quelle mesure est-il important de mettre en file d'attente la feuille de style d'un thème?

18

J'ai parcouru le réseau à la recherche d'une réponse à cette question, 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.

De plus, qu'en est-il de la feuille de style par défaut du thème, faut-il également la mettre en file d'attente?

    
posée byronyasgur 07.03.2012 - 22:47

3 réponses

17

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 PRESENT, mais si vous ne l'utilisez que pour nommer votre thème, définir la version, etc., wordpress convient parfaitement, ainsi que les personnes qui approuvent les thèmes du référentiel principal.

    
réponse donnée mor7ifer 07.03.2012 - 23:12
16

Complément à l'autre réponse de @ m0r7if3r:

Vous pouvez utiliser current_theme_supports() pour charger uniquement la feuille de style des thèmes parent si ce dernier 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' );
    
réponse donnée kaiser 08.03.2012 - 01:14
3

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 le font 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 pour une fonctionnalité aussi utile.

    
réponse donnée Steve Taylor 21.07.2012 - 15:57

Lire d'autres questions sur les étiquettes