W3总缓存未在缓存的javascripts之前加载CDN jquery

W3总缓存未在缓存的javascripts之前加载CDN jquery,jquery,wordpress,caching,Jquery,Wordpress,Caching,我看到关于这个插件没有太多的帮助,但不管怎样,还是这样 我肯定以前有人碰到过这个问题 我有WP 3.3.2,运行W3 Total Cache 0.9.2.4 以下是W3总缓存的设置- 我通过一个钩子加载Java脚本,如图所示: add_action( 'wp_enqueue_scripts' , 'woodworks_load_scripts', 11 ); function woodworks_load_scripts() { global $post, $Post_UI_T

我看到关于这个插件没有太多的帮助,但不管怎样,还是这样

我肯定以前有人碰到过这个问题

我有WP 3.3.2,运行W3 Total Cache 0.9.2.4

以下是W3总缓存的设置-

我通过一个钩子加载Java脚本,如图所示:

  add_action( 'wp_enqueue_scripts' , 'woodworks_load_scripts', 11 ); 

  function woodworks_load_scripts() {

  global $post, $Post_UI_Tabs;

  $js_dir = STYLESHEET_DIR . 'js/';
  $admin_dir = STYLESHEET_DIR . 'admin/';
  $jquery_ui = JQUERY_UI;


  wp_deregister_script('thickbox');
  wp_deregister_script('swfobject');
  wp_deregister_script('jquery');

  wp_register_script('jquery', 'http://code.jquery.com/jquery-latest.min.js', false, '1.7.2', true);

  wp_enqueue_script('jquery');

  if( woodworks_has_tabbed_content( $post ) ){
     wp_enqueue_script('jquery.ui', "{$jquery_ui}", array('jquery'), 1, true);
     $Post_UI_Tabs->has_tabs = true;
  }

  if( 'award' != get_post_type( $post->ID ) ) {
     wp_enqueue_script('main', "{$js_dir}main.js", array('jquery'), 1, true);
     wp_enqueue_script('supersize', "{$js_dir}supersized.3.1.3.min.js", array('jquery'), 1, true);
  }

  if( 'award' == get_post_type( $post->ID ) ){
     wp_enqueue_script('jquery.cycle.all', "{$js_dir}jquery.cycle.all.js", array('jquery'), 1, false);
  }


  if( is_front_page() ){
     wp_enqueue_style( 'home', STYLESHEET_DIR . 'stylesheets/home.css', array(), 1, 'all' );
     wp_enqueue_script('jquery.cycle.all', "{$js_dir}jquery.cycle.all.js", array('jquery'), 1, true);
  }
}

您可以比较(已缓存)和(未缓存)并查看源代码的差异


问题是缓存的jQuery在缓存版本之后调用。因此,它将导致jQuery未定义错误

为了解决这个问题,我必须将jquery缩小到您的
连接/缩小的js
文件中。我就是这样做的:

  • 在常规设置中,将缩小模式设置为手动
  • 转到minify选项卡,在JS文件管理下,将jqueryuri添加到文件URI(例如:)。设置为“所有模板”和“嵌入”

  • 这为我修复了它,但是您不再使用GoogleCDNEDjQuery

    为了解决这个问题,我必须将jquery缩小到您的
    连接/缩小的js
    文件中。我就是这样做的:

  • 在常规设置中,将缩小模式设置为手动
  • 转到minify选项卡,在JS文件管理下,将jqueryuri添加到文件URI(例如:)。设置为“所有模板”和“嵌入”

  • 这为我修复了它,但是您不再使用GoogleCDNEDjQuery

    对我来说,解决方案是添加jquery主文件

    https://www.example.com/wp-includes/js/jquery/jquery.js?ver=1.12.4-wp
    

    在缩小列表的顶部。

    对我来说,解决方案是添加jquery主文件

    https://www.example.com/wp-includes/js/jquery/jquery.js?ver=1.12.4-wp
    
    在缩小列表的顶部