Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/244.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何在wordpress管理面板中注销所有jquery脚本_Php_Jquery_Wordpress_Admin - Fatal编程技术网

Php 如何在wordpress管理面板中注销所有jquery脚本

Php 如何在wordpress管理面板中注销所有jquery脚本,php,jquery,wordpress,admin,Php,Jquery,Wordpress,Admin,我正在开发一个插件,在插件中我使用wordpress颜色选择器 color_picker.js: jQuery(document).ready(function($){ jQuery('.cp-field').wpColorPicker(); }); 在index.php文件中: add_action('admin_init', 'enqueue_color_picker'); function enqueue_color_picker($hook_suffix) { // f

我正在开发一个插件,在插件中我使用wordpress颜色选择器

color_picker.js:

jQuery(document).ready(function($){
    jQuery('.cp-field').wpColorPicker();
});
在index.php文件中:

add_action('admin_init', 'enqueue_color_picker');
function enqueue_color_picker($hook_suffix) {
    // first check that $hook_suffix is appropriate for your admin page
    wp_enqueue_style('wp-color-picker');
    wp_enqueue_script('cp-script-handle', plugin url.'js/color_picker.js', array( 'wp-color-picker' ), false, true);
}
之后,我刷新我的管理页面并查看源代码,所有jquery和jquery ui脚本在主体标记结束之前加载,如下所示:

<script type='text/javascript' src='http://site_url/wp-admin/load-scripts.php?c=1&amp;load%5B%5D=hoverIntent,common,admin-bar,jquery-ui-core,jquery-ui-widget,jquery-ui-mouse,jquery-ui-draggable,jquery-ui-slider,jquery-touch-p&amp;load%5B%5D=unch,iris,wp-color-picker,jquery-ui-sortable,svg-painter,heartbeat,wp-auth-check&amp;ver=4.0'></script>
<script type='text/javascript' src='http://site_url/wp-content/plugins/wp_foo/js/color_picker.js?ver=4.0'></script>

<div class="clear"></div></div><!-- wpwrap -->
<script type="text/javascript">if(typeof wpOnload=='function')wpOnload();</script>
</body>

有什么建议吗?

要在admin中注销脚本,您需要挂接到“admin\u enqueue\u scripts”钩子。这是一个钩子,顾名思义,它还用于将管理脚本排队

此外,您需要使用而不是wp_dequeue_脚本。原因是脚本已注册到队列中,但实际上未排队。因此,您的最终脚本将类似于:

add_action('admin_enqueue_scripts', 'unload_all_jquery');
function unload_all_jquery() {
    //wp_enqueue_script("jquery");
    $jquery_ui = array(
        "jquery-ui-widget",
        "jquery-ui-mouse",
        "jquery-ui-accordion",
        "jquery-ui-autocomplete",
        "jquery-ui-slider",
        "jquery-ui-tabs",   
        "jquery-ui-draggable",
        "jquery-ui-droppable",
        "jquery-ui-selectable",
        "jquery-ui-position",
        "jquery-ui-datepicker",
        "jquery-ui-resizable",
        "jquery-ui-dialog",
        "jquery-ui-button"
    );

    foreach($jquery_ui as $script){
        wp_deregister_script($script);
    }
}

为了在admin中注销脚本,您需要挂接到“admin\u enqueue\u scripts”钩子中。这是一个钩子,顾名思义,它还用于将管理脚本排队

此外,您需要使用而不是wp_dequeue_脚本。原因是脚本已注册到队列中,但实际上未排队。因此,您的最终脚本将类似于:

add_action('admin_enqueue_scripts', 'unload_all_jquery');
function unload_all_jquery() {
    //wp_enqueue_script("jquery");
    $jquery_ui = array(
        "jquery-ui-widget",
        "jquery-ui-mouse",
        "jquery-ui-accordion",
        "jquery-ui-autocomplete",
        "jquery-ui-slider",
        "jquery-ui-tabs",   
        "jquery-ui-draggable",
        "jquery-ui-droppable",
        "jquery-ui-selectable",
        "jquery-ui-position",
        "jquery-ui-datepicker",
        "jquery-ui-resizable",
        "jquery-ui-dialog",
        "jquery-ui-button"
    );

    foreach($jquery_ui as $script){
        wp_deregister_script($script);
    }
}

这些脚本已注册。你会想用它来代替。您还应该连接到“admin_enqueue_scripts”挂钩;not admin_init.thanx@mevius its go PERFECTURE将我的评论添加为答案。这些脚本已注册。你会想用它来代替。您还应该连接到“admin_enqueue_scripts”挂钩;not admin_init.thanx@mevius其go Perfected添加了我的评论作为答案。