首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >移动不工作的脱队列脚本和样式?

移动不工作的脱队列脚本和样式?
EN

WordPress Development用户
提问于 2019-07-29 22:35:03
回答 1查看 900关注 0票数 1

我学习了一些关于WP的脱队列和取消注册脚本和样式的教程--试图优化我的站点速度。

一开始,我可以排出队列和取消注册,直到我添加了一个条件的移动专用网站。现在功能不起作用了。

代码语言:javascript
复制
    add_action( 'wp_enqueue_style', 'remove_default_stylesheet', PHP_INT_MAX);
    if ( is_front_page() && wp_is_mobile() ) {    
        function remove_default_stylesheet() {

            wp_dequeue_script( 'contact-form-7' );
            wp_deregister_script( 'contact-form-7' );        

    }
    } elseif ( is_front_page() ) {
        function remove_default_stylesheet() {

            wp_dequeue_style( 'contact-form-7' );
            wp_deregister_style( 'contact-form-7' );

    }
    }

    add_action( 'wp_enqueue_scripts', 'my_deregister_javascript', PHP_INT_MAX);
    if ( is_front_page() && wp_is_mobile() ) {
        function my_deregister_javascript() {

            wp_dequeue_script( 'contact-form-7' );
            wp_deregister_script( 'contact-form-7' );

        }

    } elseif ( is_front_page() ) {

    add_action( 'wp_enqueue_scripts', 'my_deregister_javascript', PHP_INT_MAX);
function my_deregister_javascript() {

        wp_dequeue_script( 'contact-form-7' );
        wp_deregister_script( 'contact-form-7' );    

    }
} 

我正在尝试排线和取消注册脚本和样式,这取决于它是否是主页,以及用户是否在移动。

我不明白为什么这件事不管用

EN

回答 1

WordPress Development用户

回答已采纳

发布于 2019-07-30 01:42:18

您应该从回调/函数(例如,is_front_page())内部运行条件标记(例如,remove_default_stylesheet()) --参见使用条件标记的位置和警告这里。并且没有名为wp_enqueue_style的钩子;只需使用wp_enqueue_scripts来登记/注册/dequeue/deregister一个样式表文件。

因此,我不确定您需要的确切条件,但以下内容将在首页和仅用于移动设备的contact-form-7样式和脚本文件中排出队列/取消注册:

代码语言:javascript
复制
add_action( 'wp_enqueue_scripts', 'remove_default_stylesheet', PHP_INT_MAX );
function remove_default_stylesheet() {
    // Remove contact-form-7 on the front page and only for mobile devices.
    if ( is_front_page() && wp_is_mobile() ) {
        wp_dequeue_style( 'contact-form-7' );
        wp_deregister_style( 'contact-form-7' );
    }
}

add_action( 'wp_enqueue_scripts', 'my_deregister_javascript', PHP_INT_MAX );
function my_deregister_javascript() {
    // Remove contact-form-7 on the front page and only for mobile devices.
    if ( is_front_page() && wp_is_mobile() ) {
        wp_dequeue_script( 'contact-form-7' );
        wp_deregister_script( 'contact-form-7' );
    }
}

您还可以组合以下功能:

代码语言:javascript
复制
add_action( 'wp_enqueue_scripts', 'remove_plugin_scripts', PHP_INT_MAX );
function remove_plugin_scripts() {
    // Remove contact-form-7 on the front page and only for mobile devices.
    if ( is_front_page() && wp_is_mobile() ) {
        // Remove style file.
        wp_dequeue_style( 'contact-form-7' );
        wp_deregister_style( 'contact-form-7' );

        // Remove script file.
        wp_dequeue_script( 'contact-form-7' );
        wp_deregister_script( 'contact-form-7' );
    }
}
票数 1
EN
页面原文内容由WordPress Development提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://wordpress.stackexchange.com/questions/343948

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档