投稿とページ用にいくつかのメタボックスを追加したので、jsスクリプトをCreate/Editの投稿とページにのみロードしたいと思います。どうやってやるの?現在私は以下を使用していますが、それは管理者のすべてのページにスクリプトをロードします。
function my_meta_boxes() {
add_meta_box("post_meta", "Meta", "post_meta", "post", "normal", "high");
add_meta_box("post_meta", "Meta", "post_meta", "page", "normal", "high");
}
add_action( 'add_meta_boxes', 'my_meta_boxes' );
function register_custom_scripts() {
wp_enqueue_script( 'custom_js', get_template_directory_uri() . '/inc/meta/custom.js', array( 'jquery' ));
wp_enqueue_style( 'custom_css', get_template_directory_uri() . '/inc/meta/custom.css');
}
add_action( 'admin_init', 'register_custom_scripts' );
我々は少し改善することができます:
function specific_enqueue($hook_suffix) {
if( 'post.php' == $hook_suffix || 'post-new.php' == $hook_suffix ) {
wp_enqueue_script( 'custom_js', get_template_directory_uri() . '/inc/meta/custom.js', array( 'jquery' ));
wp_enqueue_style( 'custom_css', get_template_directory_uri() . '/inc/meta/custom.css')
}
}
add_action( 'admin_enqueue_scripts', 'specific_enqueue' );
Admin_enqueue_scriptsフックを使用してスクリプトを管理ページにエンキューし、特定のページにスクリプトを作成するには、以下の手順に従ってください。
function specific_enqueue( $hook ) {
if( 'post.php' != $hook )
return;
wp_enqueue_script( 'custom_js', get_template_directory_uri() . '/inc/meta/custom.js', array( 'jquery' ));
wp_enqueue_style( 'custom_css', get_template_directory_uri() . '/inc/meta/custom.css')
}
add_action( 'admin_enqueue_scripts', 'specific_enqueue' );
それが役に立てば幸い!!