$mypage = add_menu_page( $page_title, $menu_title, $capability, $menu_slug, $function, $icon_url, $position )
add_action( "admin_print_scripts-$mypage", 'myscript' );
add_action( "admin_print_styles-$mypage", ' mystyle' );
function myscript() {
wp_enqueue_script( $handle, $src, $deps, $ver, $in_footer );
}
function mystyle(){
wp_enqueue_style( $handle, $src, $deps, $ver, $media );
}
这就是我现在的做法,但是在钩子的参考页面上:
admin_print_scripts - http://codex.wordpress.org/Plugin_API/Action_Reference/admin_print_scripts admin_print_styles - http://codex.wordpress.org/Plugin_API/Action_Reference/admin_print_styles
请注意,此钩子不应用于在管理页面上排队样式或脚本,而是在wp_enqueue_script和wp_enqueue_style的参考页面上,它们有一些示例,其中这些钩子用于排列样式或脚本。
所以现在我很困惑,有人可以向我解释一下最好做什么吗?
答案 0 :(得分:0)
您只需要对代码进行一些轻微的调整,就应该完全设置好。
引用告诉你正确的事情,将脚本排入队列是正确的方法,你只是没有正确地调用它。
试试这个:
add_action( "admin_enqueue_scripts", 'myscript' );
add_action( "admin_enqueue_scripts", ' mystyle' );
function myscript() {
if('edit.php' != $hook)
{
wp_enqueue_script( $handle, $src, $deps, $ver, $in_footer );
}
}
function mystyle(){
if('edit.php' != $hook)
{
wp_enqueue_style( $handle, $src, $deps, $ver, $media );
}
}
您可以更改IF()
,以便脚本在不同的页面上运行。您还可以将两个排队呼叫加在一起,以缩短代码并使其更好地运行。
像这样:
add_action( "admin_enqueue_scripts", 'myscripts_and_styles' );
function myscripts_and_styles() {
if('edit.php' != $hook)
{
wp_enqueue_script( $handle, $src, $deps, $ver, $in_footer );
wp_enqueue_style( $handle, $src, $deps, $ver, $media );
}
}
希望这是有道理的