私はこれに対する答えを探してネットを探しましたが、何らかの理由で実際の例しか見つけることができませんが、その特定の説明はありません。<link rel=stylesheet>
header.phpで使用するだけでなく、テーマを開発するときにスタイルをエンキューすることが重要である理由を誰かに説明してもらえますか?
また、テーマのデフォルトのスタイルシートについてはどうですか、それもキューに入れる必要がありますか?
私はこれに対する答えを探してネットを探しましたが、何らかの理由で実際の例しか見つけることができませんが、その特定の説明はありません。<link rel=stylesheet>
header.phpで使用するだけでなく、テーマを開発するときにスタイルをエンキューすることが重要である理由を誰かに説明してもらえますか?
また、テーマのデフォルトのスタイルシートについてはどうですか、それもキューに入れる必要がありますか?
回答:
スタイルシートをキューに登録することは重要です。これにより、子テーマのキューからの取り出しの柔軟性が得られるだけでなく、依存関係やその他多数の項目についてリストできるようになります。それは一般に、あなたとあなたのコードと対話する他の開発者の両方にとって、より大きな柔軟性を可能にします。
テーマでデフォルトのスタイルシートを使用することは必須ではないことに注意することも重要です。スタイルシートはPRESENTでなければなりませんが、テーマに名前を付けたり、バージョンを設定したりするためだけに使用する場合、メインリポジトリのテーマを承認する人々と同様に、wordpressはそれで問題ありません。
@ m0r7if3rによる他の回答への追加として:
current_theme_supports()
テーマのサポートがある場合にのみ、親テーマのスタイルシートをロードするために使用できます。
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 );
この関数はfilemtime
version-nrを追加することに注意してください。ファイルの内容が変更された場合にブラウザのキャッシュを防ぐため。
これにより、ユーザーは単純な単一のfn呼び出しで、子テーマのブートストラップでスタイルシートを無効にできます。
remove_theme_support( 'parent-stylesheet' );
// ...or...
add_theme_support( 'parent-stylesheet' );
エンキューのもう1つの理由は、プラグインがスタイルを処理できるようにすることです。たとえば、Better WordPress MinifyはCSSファイルを自動的に連結し、WP-LESSはLESSファイルをコンパイルしてその場でキャッシュします。これらは両方とも、スタイルキューにフックし、そこに並んでいるファイルを処理することによってこれを行います。
特定のスタイルをこのようなものから除外する必要がある特定の理由があるかもしれませんが、一般に、そのような便利な機能でスタイルを利用可能にすることは良いことです。