停止在所有页面上加载插件js和css,并仅在调用它的地方显示

时间:2013-05-06 作者:Strasbourg

这个插件有一种独特的方式来注册样式和脚本,所以我不知道如何阻止它加载到我的所有页面上。快速搜索以查看wp\\U enqueue\\U style&;的位置后;剧本是我想出的。

Line 263:           wp_enqueue_style($h);
Line 277:             wp_enqueue_style(\'thickbox\');

Line 143:             add_action(\'wp_enqueue_scripts\', array( &$this, \'frontend_print_scripts\'), 20 );
Line 203:           wp_enqueue_script($h);
Line 227:               wp_enqueue_script(\'media-upload\');
Line 228:               wp_enqueue_script(\'thickbox\');
然后我查找register\\u和\\u enqueue\\u js,得到了这个。

        function register_and_enqueue_js($file, $d = array(), $v = false, $f = false) {
      if ($v === false) {
        $v = $this->plugin_version;
      }

      $js_src_url = $file;
      if ( ! WPPBUtils::str_contains($file, \'://\') ) {
        $js_src_url = $this->plugin_url . \'js/\' . $file;
      }            
      $h = str_replace(\'.\', \'-\', pathinfo( $file, PATHINFO_FILENAME ) );

      wp_register_script(
              $handle = $h,
              $src = $js_src_url,
              $deps = $d,
              $ver = $v,
              $in_footer = $f);

      wp_enqueue_script($h);
    }        

    function admin_print_script_if_exists($js_file) {

      if (file_exists($this->plugin_dir . \'js/\' . $js_file)) {

        $this->register_and_enqueue_js($js_file, array(\'jquery\'));

      }
    }       
对于css,我找到了这个

 function register_and_enqueue_css($file, $d = false, $v = false) {
      if ($v === false) {
        $v = $this->plugin_version;
      }

      $css_src_url = $file;
      if ( ! WPPBUtils::str_contains($file, \'://\') ) {
        $css_src_url = $this->plugin_url . \'css/\' . $file;
      }

      $h = str_replace(\'.\', \'-\', pathinfo( $file, PATHINFO_FILENAME ) );

      wp_register_style(
              $handle = $h,
              $src = $css_src_url,
              $deps = $d,
              $ver = $v);

      wp_enqueue_style($h);
    }     
这不是所有插件排队和注册css和js的方式,所以我不知道如何做到这一点。

1 个回复
最合适的回答,由SO网友:George Pearce 整理而成

如果由短代码调用,则在加载页面之前触发短代码(这就是为什么您从不在短代码中回显)-您可以删除对排队的现有调用,并将其添加到顶部的短代码函数中。

如果没有,那么正如RRikesh所建议的,您可以将相关代码包装在if(is_page(1)) {...] 陈述

结束

相关推荐