Standing on the Shoulder of Linus

Home / 2012 / 5月 / 11 / WordPress 管理画面の特定ページでのみ JavaScript 読み込みする方法

WordPress 管理画面の特定ページでのみ JavaScript 読み込みする方法

WordPress 管理画面の特定ページでのみ JavaScript 読み込みする方法の解説です。(単純にフックすると、jsが全ページで読み込まれることになります。)WordPress 管理画面上で関数(クラス)のソースを閲覧できるプラグイン Source Viewでも活用しています。

Justin Tadlock さまの記事 How to load JavaScript in the WordPress admin をベースにしています。

Source View のソースコードです。(sv_ という prefix をつけています)

function sv_plugin_admin_page() {
	// Use of $hook is explained below
	// http://justintadlock.com/archives/2011/07/12/how-to-load-javascript-in-the-wordpress-admin
	// Thanks, Justin.
	$hook = add_options_page( 'Source View Options', __('Source View','source-view'), 'manage_options', 'source-view', 'sv_plugin_options' );
	add_action('admin_print_scripts-'.$hook, 'sv_load_script',10);
	add_action('admin_footer-'.$hook, 'sv_load_script_footer',11);
	add_action('admin_print_styles-'.$hook, 'sv_load_style',10);
}
add_action( 'admin_menu', 'sv_plugin_admin_page' );

add_options_page の返り値が、(管理画面に追加した)ページの hook_suffix となる、ということを、上述の「How to load JavaScript in the WordPress admin」で知りました。これにより、わざわざ手作業で URL(hook_suffix) を設定する手間が省けます。非常に助かりました。

admin_print_scripts-'.$hook では、sv_load_script を呼び出しています。sv_load_script は下記のように定義しています。

function sv_load_script() {
	wp_register_script('syntaxhighlightershcore', plugins_url('/syntaxhighlighter/js/shCore.js', __FILE__));
	wp_register_script('syntaxhighlighterphp', plugins_url('/syntaxhighlighter/js/shBrushPhp.js', __FILE__),array('syntaxhighlightershcore'));
	wp_enqueue_script('syntaxhighlighterphp');
}

syntaxhighlighter の javascript を読み込んでいます。wp_register_script でスクリプト依存関係も含めて定義しておき、wp_enqueue_script で読み込みます。

関連

Posted in WordPress | Tagged Javascript, 管理画面カスタマイズ
← FuelPHPクラスのソースコードを閲覧できるサイト OSC 名古屋 2012 に参加しました。 →

アーカイブ

人気の投稿とページ

  • キンドル本を印刷する(PDFに変換する)方法
  • 名古屋駅から国際センターまでの道のり(徒歩)
  • AGPL ライセンス(GPLとは似ているが違いもある)
  • 6年使ったイーモバイル(Y!mobile)を解約手続。店頭でSIM返却
  • JP-Secure SiteGuard WP Pluginは不正ログイン防止に役立つか

プロフィール

水野史土:月70万PVホームページ制作会社のレスキューワーク株式会社で、PHPソフトウェアのサポートを行っている。concrete5コミュニティリーダー、Novius OSコアコード貢献者でもある。 詳しくは管理者詳細参照。
大好評WordPress書籍「WordPressユーザーのためのPHP入門 はじめから、ていねいに。」サポートページ

Copyright © 2015 Standing on the Shoulder of Linus.