Go to top Go to bottom

WordPressでスタイルシートを読み込むには、<head><link>タグを直接書き込むのではなくwp_enqueue_style()という関数を使用します。

テーマのスタイルシートを正しい方法で読み込む

テーマのスタイルシート、style.cssを読み込むには、wp_enqueue_style()という関数を使用します。

WordPress関数

wp_enqueue_style( $handle, $src, $deps, $ver, $media )

WordPressで使用するスタイルをキューに追加します。すでにwp_register_style()を使って登録している場合は、ハンドル名を渡すだけでキューへ追加されます。

$handleスタイルの名前。すでに登録済みの名前を入れると、新しいスタイルはキューへ追加されないので注意
$srcスタイルシートまでのURL
$depsこのスタイルを読み込む前に読み込むべきスタイルの名前($handle)を配列形式で渡す。初期値はarray()
$verバージョン番号を指定できる。ブラウザのキャッシュにかかわらず、新規スタイルを確実に読み込ませる場合などに使用できる。初期値はfalse
$media<link>の目media属性を指定できる。初期値は'all' 

たくさんの引数があり、どれも初見では理解しにくいですが、単にテーマのスタイルシートを読み込みたいだけであれば、functions.phpに次のようなコードを書けば問題ありません。

function twpp_enqueue_styles() {
  wp_enqueue_style( 'main-style', get_stylesheet_uri() );
}

add_action( 'wp_enqueue_scripts', 'twpp_enqueue_styles' );

wp_enqueue_style()の第1引数にはスタイルの名前を、第2引数はスタイルシートまでのURLを渡します。スタイルシートの名前は、たとえばプラグインのスタイルシートの名前などと被らないよう注意してください(通常プラグインが側で名前を工夫しているはずですので、あまり気にする必要はありません)。get_stylesheet_uri()テーマのスタイルシートまでのURLを取得する関数です。

この結果、<head>タグ内には次のようなリンクタグが出力されます。

<link rel='stylesheet' id='main-style-css'  href='http://localhost/minimalist/wp-content/themes/minimalist/style.css?ver=4.8.2' type='text/css' media='all' />

style.css以外のCSSファイルを読み込む

たとえばテーマのフォルダにcssというフォルダを作成し、その中にstyle01.cssというスタイルシートを保存したとします。このスタイルを読み込むには、functions.phpに次のように記載します。

function twpp_enqueue_styles() {
  wp_enqueue_style( 
    'sub-style',
    get_template_directory_uri() . '/css/style01.css' 
  );
}

add_action( 'wp_enqueue_scripts', 'twpp_enqueue_styles' );

get_template_directory_uri()テーマのフォルダまでのURLを返す関数です。

また、サイト外にあるCSSも読み込むことが可能です。たとえばGoogle Fontsのフォントを利用する場合は、次のように記載します。

function twpp_enqueue_styles() {
  wp_enqueue_style( 
    'open-sans',
    'https://fonts.googleapis.com/css?family=Open+Sans:400,700' 
  );
}

add_action( 'wp_enqueue_scripts', 'twpp_enqueue_styles' );

これでOpen Sansフォントを利用できるようになりました。

スタイルシートが読み込まれる順番を制御する

あるスタイルシートprimary.cssを最初に読み込み、そのあとにsecondary.cssを読み込む必要があるとします。このような依存関係を制御するには、wp_enqueue_style()の第3引数を使用します。

function twpp_enqueue_styles() {
  wp_enqueue_style( 
    'primary-style',
    get_template_directory_uri() . '/css/primary.css' 
  );

  wp_enqueue_style( 
    'secondary-style',
    get_template_directory_uri() . '/css/secondary.css',
    array( 'primary-style' ) 
  );
}

add_action( 'wp_enqueue_scripts', 'twpp_enqueue_styles' );

10行目の第3引数は、「’primary-style’がキューされた後にキューする」という意味だと解釈してください。これにより、primary.cssの<link>タグが出力された後に、secondary.cssの<link>タグが出力されます。