【问题标题】:Include script and style on plugin page在插件页面上包含脚本和样式
【发布时间】:2014-08-14 00:54:48
【问题描述】:
$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 的参考页面上,它们有示例,这些钩子用于将样式或脚本排入队列。

所以现在我很困惑,有人可以向我解释什么是最好的吗?

【问题讨论】:

  • 对 wp_enqueue_script() 的调用构建了一个数据结构,用于保存要加载的脚本文件和加载顺序。 HTML 的实际输出由 print_head_scripts() 完成,它作为优先级 20 的“admin_print_scripts”操作执行。关键要求是在执行 print_head_scripts() 之前完成对 wp_enqueue_script() 的调用。操作“admin_enqueue_scripts”旨在执行此操作。但是,“admin_print_scripts-$hook_suffix”操作也会执行此操作,但这只是完成时的结果,而不是预期的结果。
  • 所以我很擅长这个,我在这种方式上包含了很长时间并且没有任何问题,但是我只是注意到那些参考页面并且我很困惑。好的,谢谢

标签: wordpress


【解决方案1】:

您只需要对您的代码进行一些细微的调整,就应该一切就绪。

参考告诉你正确的事情,将脚本加入队列是正确的方法,你只是没有正确调用它。

试试这个:

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() 以便脚本在不同的页面上运行。您还可以将两个 enqueue 调用结合在一起,以缩短代码并使其更好地运行。

像这样:

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 ); 
    }
}

希望这是有道理的

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-04-19
    • 1970-01-01
    • 2019-11-24
    • 1970-01-01
    • 2011-05-16
    • 2020-08-09
    • 2015-12-19
    相关资源
    最近更新 更多