我看到这个插件没什么帮助,但无论如何都要进行。
我相信其他人之前已经遇到过这个问题。
我有WP 3.3.2并运行W3 Total Cache 0.9.2.4
这些是W3 Total Cache的设置 - http://www.diigo.com/item/image/2no8j/qgct
我正在通过钩子加载我的javascripts,如下所示:
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);
}
}
您可以比较woodworks.signalsinteractive.com(有缓存)和woodworks.org(未缓存)并查看来源差异。
问题是在缓存版本之后调用缓存的jQuery。所以它会导致jQuery未定义的错误。
答案 0 :(得分:2)
为了让我解决这个问题,我不得不将jquery缩小到你的concatenated/minified js
文件中。我就这样做了:
这为我修复了它,但是您不再使用Google CDNed jquery。
答案 1 :(得分:0)
对我来说,解决方案是添加jquery主文件
https://www.example.com/wp-includes/js/jquery/jquery.js?ver=1.12.4-wp
位于缩小列表的顶部。