> Wordpress > Wordpressのfunction.phpでCSSとJSを読みこむ方法
Wordpressのfunction.phpでCSSとJSを読みこむ方法

Wordpressのfunction.phpでCSSとJSを読みこむ方法

  • 投稿日:2021/10/02 |最終更新:2021/10/04
  • Wordpress

Wordpressで自作テーマを利用する際、例えばheader.php内にCSS・JSを読み込むタグを入れることも可能ですが、WP公式ではfunction.phpを利用して読みこむことを推奨されています。
WordpressでCSS・JS読み込み関連でよく使う処理をまとめておきました。

wp_head()内のjQueryを読み込まない

wp_head()では、Wordpress本体内に含まれているjQueryを読み込みます。
この処理を削除する方法は下記の通りです。

/**
 * 不要なjQueryを読み込まない.
 */
function my_scripts_method() {
    wp_deregister_script( 'jquery' );
}
add_action( 'wp_enqueue_scripts', 'my_scripts_method' );

function.phpでCSSを読み込む方法

header.phpなどに<link rel="stylesheet" href="sample.css">などのタグを入れることでCSSの読み込みを行うことは可能ですが、function.phpで読み込む方法は下記の通りです。

wp_enqueue_style()関数を利用する

function.phpでスタイルシートを読み込むには、下記の関数を利用します。

function add_styles() {
      wp_enqueue_style( $handle, $src, $deps, $ver, $media );
}
add_action( 'wp_enqueue_scripts', 'add_styles' );
 引数 内容 初期値 必須
$handle スタイルシートを区別するハンドル名。
半角英数・アンダーバー・ハイフンを利用可能。
string
$src スタイルシートのURL。 string/bool  
$deps 依存するスタイルシートのハンドル名。
$srcで指定したスタイルシートの前に読みこんでおくべきスタイルシートのハンドル名を指定できます。
array  
$ver スタイルシートのバージョン番号を指定する文字列。 string/bool  
$media スタイルシートのmedia属性。
例) 'all'、'screen'、'handheld'、'print'
string/bool  

wp_enqueue_style()の利用例

複数のCSSを読み込んでみます。
テーマファイル内に[css]ディレクトリを作成してスタイルシートファイルをまとめている想定です。
管理画面以外でのみCSSを読み込む形にしています。

/**
 * CSS追加
 */
function add_styles() {
    if ( ! is_admin() ) {
        // 読み込むCSSのハンドルとパスを配列に定義
        $css_array = array(
            'style-reset'       => '/css/reset.css',
            'style-common'      => '/css/common.css',
            'style-style'       => '/css/style.css',
            'style-editor'      => '/css/editor.css',
            'style-smp'         => '/css/smp.css',
        );
        if ( is_page() ) { // 固定ページでのみ読み込むCSS
            $css_array['style-page'] = '/css/page.css';
        }
        foreach ( $css_array as $key => $value ) {
            // ファイルの最終更新日をバージョン情報として挿入
            $last_modified = filemtime( get_template_directory() . $value );
            wp_enqueue_style( $key, esc_url( get_template_directory_uri() ) . $value, '', $last_modified, false );
        }
    }
}
add_action( 'wp_enqueue_scripts', 'add_styles' );

function.phpでJSを読み込む方法

header.phpなどに<script type="text/javascript" src="sample.js"></script>などのタグを入れることでJSの読み込みを行うことは可能ですが、function.phpで読み込む方法は下記の通りです。

wp_enqueue_script()関数を利用する

function.phpでスタイルシートを読み込むには、下記の関数を利用します。

function add_script() {
      wp_enqueue_script( $handle, $src, $deps, $ver, $in_footer );
}
add_action( 'wp_enqueue_scripts', 'add_script' );
 引数 内容 初期値 必須
$handle スクリプトを区別するハンドル名。
半角英数・アンダーバー・ハイフンを利用可能。
string
$src スクリプトのURL。 string  
$deps 依存するスクリプトのハンドル名。
$srcで指定したスクリプトの前に読みこんでおくべきスクリプトのハンドル名を指定できます。
array  
$ver スクリプトのバージョン番号を指定する文字列。 string  
$in_footer スクリプトの配置。
通常(false)<head>内に配置され、trueの場合</body>終了タグの前に配置される。
bool  

wp_enqueue_script()の利用例

複数のJSを読み込んでみます。
テーマファイル内に[js]ディレクトリを作成してスクリプトファイルをまとめている想定です。
管理画面以外でのみJSを読み込む形にしています。

/**
 * JS追加
 */
function add_scripts() {
    if ( ! is_admin() ) {
        $js_array = array(
            'js-jquery' => '/js/jquery.min.js',
            'js-common' => '/js/cmd.js',
            'js-sp'     => '/js/sp.js',
        );
        if ( is_page() ) {
            $js_array['js-page'] = '/js/page.js';
        }
        foreach ( $js_array as $key => $value ) {
            $last_modified = filemtime( get_template_directory() . $value );
            wp_enqueue_script( $key, esc_url( get_template_directory_uri() ) . $value, '', $last_modified, false );
        }
    }
}
add_action( 'wp_print_scripts', 'add_scripts' );

まとめ

複数ファイルを読み込むときは、foreachを利用したり、画面によって読み込むファイルを変更したりして、サイトの軽量化にも対応できます。
header.phpを軽くするためにも、関数を使いこなせるようになりたいですね。

この記事が気に入ったらシェアしてください

関連記事

Wordpressのカスタム投稿タイプで一覧・詳細画面を作らない方法

Wordpressのプラグイン「AddToAny Share Buttons」で任意の場所にシェアボタンを設置する方法

Wordpressのプラグイン「AddToAny Share Buttons」で任意の場所にシェアボタンを設置する方法

Wordpress Popular Postsでの表示内容をテーマ内でカスタマイズする方法

Wordpress Popular Postsでの表示内容をテーマ内でカスタマイズする方法

Wordpressの投稿からカテゴリーやタグを削除する方法

Wordpressの投稿からカテゴリーやタグを削除する方法

Wordpressで記事のIDから記事内の一番目にある画像を取得する関数

Wordpressで記事のIDから記事内の一番目にある画像を取得する関数

Wordpressのget_terms()で特定のカスタム投稿タイプの公開記事のみcountの対象にする方法

Wordpressのget_terms()で特定のカスタム投稿タイプの公開記事のみcountの対象にする方法

Comment Form

コメント投稿はこちらをクリックしてください
  • コメントを入力してください。
登録フォーム
Name
Mailaddress
URL
Message
Postkey
(スパム対策に、投稿キー を半角で入力してください。)