WordPressの管理画面にCSSファイルやJSファイルを読み込む方法
WordPressをクライアント向けにカスタマイズする時に、特定の項目を非表示にしたかったり、サイズを変更したかったりということがあります。
これらの対策に管理画面にCSSファイルやJSファイルを読み込む方法を共有します。
やりたいこと
WordPressの管理画面(/wp-admin/*)にCSSファイルとJSファイルを読み込む。
結論
add_action('admin_enqueue_scripts', function()
{
// CSSとJSのファイル名
$cssFile = 'css/admin.min.css';
$jsFile = 'js/admin.min.js';
// 各ファイルのURL
$cssFileUrl = sprintf('%s/%s', get_template_directory_uri(), $cssFile);
$jsFileUrl = sprintf('%s/%s', get_template_directory_uri(), $jsFile);
// 各ファイルの更新日時を取得
$cssFileModified = filemtime(sprintf('%s/%s', get_template_directory(), $cssFile));
$jsFileModified = filemtime(sprintf('%s/%s', get_template_directory(), $jsFile));
// 各ファイルの読み込み
wp_enqueue_style('app-admin-style', $cssFileUrl . '?' . $cssFileModified);
wp_enqueue_script('app-admin-script', $jsFileUrl . '?' . $jsFileModified, ['jquery']);
});
このPHPをfunction.phpなどに追記すれば管理画面にCSSとJSファイルが読み込まれます。コピペでOKという方はコピペでそのまま使ってください。
上記プログラムの解説
4・5行目は、テーマディレクトリからのCSSとJSのファイルパスをそれぞれ変数に代入します。
8・9行目は、CSSとJSそれぞれのURLをつくります。これらのURLをそのまま読み込んでも良いのですが、WordPress管理画面はキャッシュされるのでGETパラメーターでファイルの更新日をつけるとより良いでしょう。
12・13行目は、各ファイルの最終更新日時を取得しています。
16・17行目で、各ファイルの読み込みと、キャッシュ対策としてGETパラメーターで最終更新日時を追加しています。
今回のWordPress開発のポイント
やりたいことはそんなに難しくないのですが、WordPressの管理画面で読み込むファイルはキャッシュが強めです。
ですのでCSSやJSファイルを更新してアップロードしたけれど、サイトには反映されない、などということが頻繁に起こり得ます。
そのためGETパラメータで予め更新日時を送ってあげるとキャッシュされずに便利に使えます。