首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Wordpress插件优化代码

Wordpress插件优化代码
EN

Stack Overflow用户
提问于 2014-02-14 01:32:19
回答 1查看 135关注 0票数 1

在wp插件中,我在该插件的php文件中看到了以下代码。

代码语言:javascript
复制
public function register_plugin_scripts() {
        /*** Styles ***/
        $cyclone_css = add_query_arg(array('cyclone_templates_css' => 1), home_url( '/' ));
        wp_register_style( 'cyclone-slider-plugin-styles', $cyclone_css );//contains our combined css from ALL templates
        wp_enqueue_style( 'cyclone-slider-plugin-styles' );

        /*** Scripts ***/
        wp_register_script( 'cycle', $this->plugin_url.'js/jquery.cycle.all.min.js', array('jquery') );
        wp_enqueue_script( 'cycle' );


}

现在,我想改变其中的一些。现在,每个页面都在使用这个插件。这意味着每个页面都会请求组合的CSS2) jquery.cycle.all.min.js。但是,我只在主页上使用这个插件。那么我该如何修复它,使css文件+ js仅为主页加载,而不为其他页面加载。

接下来,我不想组合来自所有模板的css。相反,应该将其精确定位到选定的位置。如何做到这一点?提前谢谢。插件是Cyclone Slider 2。

EN

回答 1

Stack Overflow用户

发布于 2014-10-26 03:05:42

如果您愿意直接编辑插件代码,那么只需在主页上执行wp_enqueue_script()调用即可。

代码语言:javascript
复制
public function register_plugin_scripts() {
        /*** Styles ***/
        $cyclone_css = add_query_arg(array('cyclone_templates_css' => 1), home_url( '/' ));
        wp_register_style( 'cyclone-slider-plugin-styles', $cyclone_css );//contains our combined css from ALL templates


        /*** Scripts ***/
        wp_register_script( 'cycle', $this->plugin_url.'js/jquery.cycle.all.min.js', array('jquery') );
 if (is_front_page()){
      wp_enqueue_style( 'cyclone-slider-plugin-styles' );       
      wp_enqueue_script( 'cycle' );
 }
}

然而,几乎可以肯定的是,不想编辑插件,因为当插件更新时,您所做的更改将被覆盖。

因此,我将使用wp_dequeue_script和wp_dequeue_style在您不希望它们加载的地方停止脚本加载。

根据Wordpress Function reference,您可以在主题function.php文件或类似文件中添加以下代码:

代码语言:javascript
复制
 /**
 * Dequeue a queued script.
 *
 * Hooked to the wp_print_scripts action, with a late priority (100),
 * so that it is after the script was enqueued.
 */
function wpcyclone_dequeue_script() {
   wp_dequeue_script( 'cycle' );
   wp_dequeue_script( 'cyclone-slider-plugin-styles' );
}
if (!is_front_page()){
    add_action( 'wp_print_scripts', 'wpcyclone_dequeue_script', 100 );
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21761365

复制
相关文章

相似问题

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