前回、wordpressの管理画面(ダッシュボード)に独自のメニュー・サブメニューを追加する方法を説明しましたが、
・管理画面に独自メニューを作る方法①
・管理画面に独自メニューを作る方法②
今回は、その作成した管理画面に独自の style や script を当てる方法を説明します。
管理画面に独自のstyle/scriptを当てる
functions.php に下記を追加します。
■CSS ファイルを読み込む
function my_admin_style(){ //CSSを追加 wp_enqueue_style( 'my_admin_style', get_template_directory_uri().'/css/my_admin_style.css' ); } add_action( 'admin_enqueue_scripts', 'my_admin_style' );
■JavaScript ファイルを読み込む
function my_admin_script(){ wp_enqueue_script( 'my_admin_script', get_template_directory_uri().'/js/my_admin_script.js' ); // jQuery のコードだった場合 wp_enqueue_script( 'my_admin_script', get_template_directory_uri().'/js/my_admin_script.js', array('jquery')); // body 終了タグ直前で読み込みたい場合(読み込み位置をフッターにするには第4引数を true にします) wp_enqueue_script( 'my_admin_script', get_template_directory_uri().'/js/my_admin_script.js', '', '', true); // body 終了タグ直前で jQuery のファイルを読み込みたい場合 wp_enqueue_script( 'my_admin_script', get_template_directory_uri().'/js/my_admin_script.js', array('jquery'), '', true); } add_action( 'admin_enqueue_scripts', 'my_admin_script' );
管理画面の特定したページのみに独自のstyle/scriptを当てる
※前回の「wordpressの管理画面(ダッシュボード)に独自のメニュー・サブメニューを追加する方法」では、追加する画面の HTML(PHP) を直接 function.php に書き込んでいたが、
管理画面の特定したページのみに独自のstyle/scriptを当てるには、直接書き込むのではなく、include で PHP ファイルを読み込む必要があります。まず、その方法について説明します。
functions.php に下記を追加します。
add_action( 'admin_menu', 'menu_page' ); function menu_page(){ add_menu_page( 'お知らせ・ブログ記載方法', 'お知らせ・ブログ記載方法', 'edit_posts', 'info_menu', 'banner_options_page', 'dashicons-info', 3 ); } function banner_options_page() { //別に用意した PHP ファイルを読み込ませる //ファイル名は、上記関数の引数のスラッグ名と同じにする include 'info_menu.php'; }
これで追加したページのみに、CSS/JavaScript を当てます。
functions.php に下記を追加します。
function my_admin_style(){ wp_enqueue_style( 'my_admin_style', get_template_directory_uri().'/css/my_admin_style.css' ); } add_action( 'admin_head-toplevel_page_info_menu', 'my_admin_style' ); function my_admin_script(){ wp_enqueue_script( 'my_admin_script', get_template_directory_uri().'/js/my_admin_script.js' ); } add_action( 'admin_head-toplevel_page_info_menu', 'my_admin_script' );
add_action の引数の admin_head-toplevel_ の後に、追加したページのスラッグ名(画面の名前)を付ける。
■追加したページのスラッグ名(画面の名前)が分からない場合は、次のように「wp_die()」を使用して確認することができます。
function my_admin_style($custom){ wp_die( '<pre>' . var_export( $custom, true ) . '</pre>' ); } add_action( 'admin_enqueue_scripts', 'my_admin_style' );