在模板文件中使用wp_dequeue_style

时间:2016-10-17 09:50:38

标签: wordpress

我正在使用一个使用bootstrap和jQuery UI的主题。在模板文件中,想要删除jQuery:

custom.php

/**
** Template Name: Custom
*
**/


get_header();

wp_deregister_style('jquery.ui.theme' );
wp_dequeue_style('jquery.ui.theme' );


?>

// my template goes here


<? php get_footer(); ?>

这种做法不起作用。

我尝试putting the functions calls in a function并使用

调用它们
 add_action( 'wp_enqueue_scripts', 'wpdocs_theme_name_scripts' );

这是模板包含jQuery UI库的方式:

wp_enqueue_style('jquery.ui.theme', get_template_directory_uri() . '/css/jquery-ui.min.css');

1 个答案:

答案 0 :(得分:1)

使用您的模板名称,css文件名和js文件名更改以下变量,与jssery ui的样式表的css使用名称相同,

你有两个全局变量( $wp_styles $wp_scripts ),wordpress用于打印CSS和JS。

对于CSS,它使用$wp_styles,而JS使用$wp_scripts

如果您不知道js文件的处理程序名称,请尝试global $wp_scripts; print_r($wp_scripts);并检查jquery ui(Jquery)句柄名称。

 - $Template_Name = 'Custom';
 - $css_file_name = 'jquery.ui.theme';
 - $js_file_name  = 'jquery.ui.theme';

复制下面的代码并将其添加到functions.php

function na_dequeue_function() {
        $Template_Name = 'Custom';
        $css_file_name = 'jquery.ui.theme';
        $js_file_name  = 'jquery.ui.theme';
        if( is_page_template($Template_Name) ) {
            ################ Remove styles #################
            global $wp_styles;
            $style_array = array();
            // Runs through the queue styles
            foreach($wp_styles->queue as $handle) :
                if( $css_file_name == $handle ) {
                    $style_array[] = $handle;
                }
            endforeach;
            wp_dequeue_style($style_array);
            wp_deregister_style($style_array);
            #################################
            ################ Remove Scripts #################
            global $wp_scripts;
            $script_array = array();
            // Runs through the queue scripts
            foreach($wp_scripts->queue as $handle) :
                if( $js_file_name == $handle ) {
                    $script_array[] = $handle;
                }
            endforeach;
            wp_dequeue_script($script_array);
            wp_dequeue_script($script_array);
            ################ Remove Scripts #################
        }
    }

    add_action('wp_enqueue_scripts', 'na_dequeue_function');