自動的に階層変更ができているもの
- page.phpなどのテンプレートファイル
- template_directory_uri()
変更できていないもの
- get_stylesheet_directory()
- get_parent_theme_file_path()
- get_template_part()
基本形式
コンポーネント名(あるいはプロジェクト名)-要素名--属性名--属性値
例) site-header-logo--float--left
- キャメルケース・アンダーバーは使用しない(ExUnitなど他のDOM要素の上書きは仕方ない)
- 英単語の連結及びコンポーネント名と要素名の連結はハイフン(-)
- FLOCSSのように要素の前に l- p- c- をつけるのは開発者にある程度のノウハウが必要とされるので不採用とした
- VK Blocks などではDOMの階層をほぼすべて含めていたが、DOMの階層変更が入ると整合性がとれなくなるので親のコンポーネント名さえ記載すれば良いものとする
- コンポーネント名と要素名は本当は__等でも良かったが、迷ったり間違ったりすると整合性がとれなくなるので、深く考えなくても良いように-とした
- ハイフンだけでは 単語の区切りか DOM の階層かわからんやんけ!と思われるかもしれないが、実際問題階層は省略できる部分は省略した方がCSSが短くできる&必要なのは概ねコンポーネント名と要素名だけなので問題にならない。
add_filter( "lightning_get_class_names", 'lightning_add_class_names_site_header_origin3', 10, 2 );
function lightning_add_class_names_site_header_origin3( $class_names, $position ){
if ( $position === 'site-header' ){
$class_names['site-header'] .= ' site-header--layout--nav-float';
}
return $class_names;
}
add_filter( "lightning_get_the_class_name", 'lightning_add_class_name_site_header_origin3', 10, 2 );
function lightning_add_class_name_site_header_origin3( $class_name, $position ){
if ( $position === 'site-header' ){
$class_name .= ' site-header--layout--nav-float';
}
return $class_name;
}
- フック名で単語の連結は _ のみで - は使用禁止。
- アクションフック名にはプリフィックス lightning_ を付与。
- プリフィックス名の次は該当箇所のクラス名を付与する。ただし、- は _ に変更する。
5.9での 管理画面CSS読み込み順
CSS | フックポイント | プライオリティ | 読み込み方法 | 依存ハンドル | ハンドル |
---|---|---|---|---|---|
共通CSS | enqueue_block_editor_assets | - | wp_enqueue_style | wp-edit-blocks | lightning-common-editor-gutenberg |
スキン | enqueue_block_editor_assets | 11 | wp_enqueue_style | wp-edit-blocks | lightning-gutenberg-editor |
見出しデザイン | enqueue_block_editor_assets | 12 | wp_add_inline_style | lightning-common-editor-gutenberg | インライン |
フォント切り替え | enqueue_block_editor_assets | 12 | wp_add_inline_style | lightning-common-editor-gutenberg | インライン |
VK Blocks | |||||
共通CSS* | admin_enqueue_scripts | - | add_editor_style | ||
スキン* | admin_enqueue_scripts | - | add_editor_style |