我想知道加载现有脚本的正确方法wp-includes/js/jquery/
我要加载的示例jQuery UI Tabs
我现在做了什么
function sample_exists_code() {
echo \'<script type="text/javascript" src="\'. CONSTANTS_JS .\'/jquery.js"></script>\'."\\n";
echo \'<script type="text/javascript" src="\'. CONSTANTS_JS .\'/jquery-ui.js"></script>\'."\\n";
}
add_action(\'admin_head\', \'sample_exists_code\');
这段代码可以很好地加载UI选项卡。
但当我尝试使用此代码时,它不起作用
function sample_exists_code() {
wp_enqueue_script(\'jquery\');
wp_enqueue_script(\'jquery-ui-tabs\');
}
add_action(\'admin_head\', \'sample_exists_code\');
让我知道调用现有脚本的正确方法。
更新:
// load existings js and template css.
function sample_admin_js_head()
{
wp_enqueue_script(\'jquery-ui-tabs\', null, array(\'jquery-ui-core\',\'jquery\'), null, false);
echo \'<link rel="stylesheet" type="text/css" href="\' . CONSTANTS_STYLES . \'/style.css" />\' . "\\n";
}
// load up the menu page
function sample_add_page()
{
$optionpage = add_theme_page(__(\'Theme Options\'), __(\'Theme Options\'), \'edit_theme_options\', \'sample\', \'sample_do_template\');
add_action( "admin_print_scripts-$optionpage", \'sample_admin_js_head\' );
}
add_action(\'admin_menu\', \'sample_add_page\');
最合适的回答,由SO网友:MikeSchinkel 整理而成
你好@haha:
\'admin_init\'
无疑是加载脚本的一种可行方法,但您可能还想看看这篇博客文章,并考虑使用"admin_print_scripts-{$page}"
钩子,它可以让您仅在需要时加载页面,而不会加重其他管理页面的负担:
以下是博客中的代码,尽管有一些修改:
$your_page = add_management_page(\'myplugin\',\'myplugin\',9,__FILE__,
\'yourplugin_admin_page\');
add_action("admin_print_scripts-{$your_page}",\'yourplugin_jquery_tabs_loader\');
function yourplugin_jquery_tabs_loader() {
// what your plugin needs in its <head>
}