我想让一个脚本(‘企业响应菜单’)排出队列,但是我在模板中的函数没有这样做。有什么地方不对劲吗?
下面是函数s.php中的队列-
//* Enqueue Scripts
add_action( 'wp_enqueue_scripts', 'enterprise_load_scripts' );
function enterprise_load_scripts() {
wp_enqueue_script( 'enterprise-responsive-menu', get_bloginfo( 'stylesheet_directory' ) . '/js/responsive-menu.js', array( 'jquery' ), '1.0.0' );
wp_enqueue_style( 'dashicons' );
wp_enqueue_style( 'google-fonts', '//fonts.googleapis.com/css?family=Lato:300,700,300italic|Titillium+Web:600', array(), CHILD_THEME_VERSION );
}'这是我的模板中的去队列代码-
//Remove Mobile Header
function project_dequeue_unnecessary_scripts() {
wp_dequeue_script( 'enterprise-responsive-menu' );
wp_deregister_script( 'enterprise-responsive-menu' );
}
add_action( 'wp_print_scripts', 'project_dequeue_unnecessary_scripts' );发布于 2016-09-08 00:34:58
将project_dequeue_unnecessary_scripts()函数移到functions.php文件中,并添加一个条件语句,以确定是否加载了适当的模板。例如:
// Remove Mobile Header
function project_dequeue_unnecessary_scripts() {
if ( is_page_template( 'name-of-template.php' ) ) {
wp_dequeue_script( 'enterprise-responsive-menu' );
wp_deregister_script( 'enterprise-responsive-menu' );
}
}
add_action( 'wp_print_scripts', 'project_dequeue_unnecessary_scripts' );我怀疑您的函数没有工作,因为它已经放置在模板文件调用get_header()之后的某个地方,这意味着去排队已经太晚了。无论如何,在模板文件中声明函数不是一个好做法,所以使用您的functions.php文件或其他包含。
发布于 2016-09-08 02:11:25
add_action( 'wp_enqueue_scripts', 'enterprise_load_scripts' );
function enterprise_load_scripts(){
if ( !is_page_template( 'name-of-template.php' ) ) {
wp_enqueue_script( 'enterprise-responsive-menu', get_bloginfo( 'stylesheet_directory' ) . '/js/responsive-menu.js', array( 'jquery' ), '1.0.0' );
}
wp_enqueue_style( 'dashicons' );
wp_enqueue_style( 'google-fonts', '//fonts.googleapis.com/css?family=Lato:300,700,300italic|Titillium+Web:600', array(), CHILD_THEME_VERSION );
}如果您将特定的脚本放在一个条件中,以便它只在页面上加载任何模板,除了那些您不想要的内容之外,会怎么样?
https://wordpress.stackexchange.com/questions/238547
复制相似问题