wp-config.php の 「define(‘WP_DEBUG’, false);」を「define(‘WP_DEBUG’, true);」にしたところログイン画面で以下のような Notice エラーが表示された。
原因は functions.php に記述されていた以下の部分。
WordPress がデフォルトで同梱している jQuery ライブラリの代わりに jQuery を CDN から読み込む際に「wp_deregister_script」を使っていて、かつ「wp_print_scripts」フックを使っている点。
function add_my_scripts() { if(is_admin()) return; //管理画面にはスクリプトは追加しない(管理画面の条件分岐) wp_deregister_script( 'jquery'); //jQuery を CDN から読み込む準備 wp_enqueue_script( 'jquery', '//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js', array(), '1.10.2', false); wp_enqueue_script( 'jquery-mig', '//cdnjs.cloudflare.com/ajax/libs/jquery-migrate/1.2.1/jquery-migrate.min.js', array(), '1.2.1', false); wp_enqueue_script('base', //「base.js」をロード get_template_directory_uri(). '/js/base.js', array('jquery'), '20140513' ); } add_action('wp_print_scripts', 'add_my_scripts');
add_action() の「wp_print_scripts」フックを「wp_enqueue_scripts」フックに変更。
function add_my_scripts() { if(is_admin()) return; wp_deregister_script( 'jquery'); wp_enqueue_script( 'jquery', '//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js', array(), '1.10.2', false); wp_enqueue_script( 'jquery-mig', '//cdnjs.cloudflare.com/ajax/libs/jquery-migrate/1.2.1/jquery-migrate.min.js', array(), '1.2.1', false); wp_enqueue_script('base', get_template_directory_uri(). '/js/base.js', array('jquery'), '20140513' ); } add_action('wp_enqueue_scripts', 'add_my_scripts');
エラーが消えた。
Plugin API/Action Reference/wp enqueue scripts
このフックはスタイルシートの読み込みにも使えるみたい。
参考になるサイト:wp_enqueue_script のススメ(dogmap.jp)