我正在使用一个使用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');
答案 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');