我正在开发一个使用thickbox和media-upload来设置图片的插件。也不会使用此代码加载:
function add_my_files() {
echo 'happy happy happy';
wp_register_style( 'adminstyles', plugins_url('/css/slider.css', __FILE__));
wp_enqueue_style( 'adminstyles' );
wp_enqueue_style('thickbox');
wp_enqueue_script('media-upload');
wp_enqueue_script('thickbox');
wp_register_script('hdjs',plugins_url('/js/slider.js', __FILE__),array('media-upload','thickbox'),'',true);
wp_enqueue_script('hdjs');
}
add_action( 'admin_init', 'add_my_files' );
我的css和js文件加载但不是加厚框和媒体上传。
由于
答案 0 :(得分:1)
在WP中包含资产文件的正确挂钩是admin_enqueue_scripts
:
注意:我建议您使用get_current_screen
(请参阅下面的is_my_admin_screen()
定义),在实际需要时只包含您的js / css文件。
add_action('admin_enqueue_scripts', 'add_my_files');
function add_my_files()
{
/*
* a good WP citizen only loads
* their javascript/css where it is needed
*/
if ( ! is_my_admin_screen()) // defined below
return;
wp_register_style('adminstyles', plugins_url('/css/slider.css', __FILE__));
wp_enqueue_style('adminstyles');
wp_enqueue_style('thickbox');
wp_enqueue_script('media-upload');
wp_enqueue_script('thickbox');
wp_register_script('hdjs', plugins_url('/js/slider.js', __FILE__), array('media-upload', 'thickbox'), '', true);
wp_enqueue_script('hdjs');
}
function is_my_admin_screen()
{
$screen = get_current_screen();
if (is_object($screen) && $screen->id == 'my_plugin_page_id') // var_dump($screen->id); find your own id
return true;
else
return false;
}
参考:http://codex.wordpress.org/Plugin_API/Action_Reference/admin_enqueue_scripts 参考:http://codex.wordpress.org/Function_Reference/get_current_screen
除了希望你使用一个类来包装你的所有插件,否则你会遇到比这更糟的问题。
请反馈。我对这个问题很感兴趣,因为WP插件把食物和啤酒放在我的桌子上。