web-dev-qa-db-fra.com

Dois-je réellement lier le style.css de mon thème dans les fichiers de thème

Je développe donc un thème wordpress en utilisant une série de fichiers LESS pour le CSS. Ces compiler en utilisant codekit à une feuille de style combinée et minifed que j'utilise pour le style du thème.

Je comprends qu'un thème wordpress doit avoir un style.css qui inclut les informations sur le thème dans ses commentaires, mais est-il nécessaire de lier ce style.css dans le header.php? Certes, je peux simplement avoir l’information sur le thème et rien d’autre et la laisser intacte dans le dossier des thèmes. La feuille de style que j'utilise réellement peut simplement s'appeler styles.css ou main.css ou autre chose.

quelqu'un peut-il confirmer ou donner les raisons pour lesquelles cela pourrait être une mauvaise idée?

9
harryg

Je dirais: vous ne devriez pas utiliser le style.css pour le CSS de production réel.

La raison est simple: la minification. Vous ne pouvez pas réduire complètement le contenu du fichier, car WordPress doit le lire. Dans mes thèmes, j’utilise style.css uniquement pour les en-têtes, et j’ajoute un commentaire expliquant où trouver le vrai CSS, afin que les autres développeurs n’aient pas à chercher trop longtemps.

Exemple:

/*
Theme Name:    My theme name
Version:       2013.08.24
License:       MIT
Text Domain:   t5_theme
Domain Path:  /lang

You will find the real stylesheet in css/default.css.
*/
14
fuxia

Vous avez raison, Harry, il n'est pas nécessaire d'appeler ni de charger le style.css par défaut dans votre fichier d'en-tête. Depuis que j'utilise SCSS dans mes thèmes, j'ai rencontré le même problème, mais j'avais décidé de maintenir le lien vers style.css pour les raisons suivantes qui peuvent ou non être applicables à votre situation:

  • Les hypothèses par défaut de WP sont que style.css existe et est utilisé, et je ne veux pas contrecarrer cette hypothèse en ce qui concerne les plug-ins. Je ne sais pas si/quand ce serait un problème et serais intéressé d'entendre les expériences et les conseils des autres sur ce point.
  • Si ma feuille de style en cours d'utilisation se trouve dans un dossier, cela empêche les utilisateurs de modifier le code CSS du site. Le fait de garder style.css actif et disponible donne à mes utilisateurs un moyen de toujours pouvoir apporter des modifications CSS à partir de l’administrateur WP.
  • Dans le même ordre d'idées, tout en travaillant sur le site de transfert avec d'autres partenaires, s'ils n'utilisent pas également SCSS, ils peuvent apporter des modifications à style.css sans affecter ma capacité à continuer à utiliser mes fichiers SCSS.

Encore une fois, ces points peuvent ne pas s’appliquer à votre situation mais ils ont influencé ma décision de garder le lien style.css par défaut, même s’il est en grande partie vide, à l’exception des informations de thème requises.

2
Angelique

Oui, WordPress utilise le style.css du thème en tant que document "config".

Autant que je sache, vous avez également raison de dire qu'il n'est pas nécessaire de charger style.css au début afin de le laisser servir ses objectifs de "configuration".

Ce que vous faites devrait bien se passer. Je suis presque sûr d'avoir vu d'autres thèmes faire la même chose, mais je ne peux pas le jurer. Le seul problème que je peux voir serait si un plugin suppose à tort que style.css est la (seule) feuille de style du thème.

1
s_ha_dum

Vous pouvez également ajouter ceci à votre config.rb (si vous utilisez Compass) et CodeKit copiera automatiquement votre feuille de style minifiée dans style.css à la racine du thème.

require 'fileutils'
on_stylesheet_saved do |file|
  if File.exists?(file) && File.basename(file) == "style.css"
    puts "Moving: #{file}"
    FileUtils.mv(file, File.dirname(file) + "/../" + File.basename(file))
  end
end

J'utilise cela avec chaque thème WordPress que je développe et cela fonctionne à merveille.

Assurez-vous que le commentaire dans votre fichier style.scss commence par le ! après le commentaire d'ouverture, sinon il sera supprimé dans la minification:

/*!
  Theme Name: Your Theme

Source: CSS-Tricks

1
jjeaton