W3TC的适当挂钩定义或动态禁用w3总缓存

时间:2012-09-24 作者:jessica

我有一个使用购物车插件(Shopp)、我编写的插件和W3 Total Cache的网站。

在我的插件中,如果用户的购物车中有任何项目,我想确保W3 Total Cache不会提供任何缓存页面,但是,我似乎找不到合适的挂钩来定义将禁用W3 Total Cache缓存的常量。这是我插件文件顶部的内容(shopp\\u init函数在wordpress期间运行init):

// do not cache anything if items are in cart
add_action(\'shopp_init\', function(){
    if (shopp_cart_items_count() > 0)
    {
        define(\'DONOTCACHEDB\', true);
        define(\'DONOTCACHEPAGE\', true);
        define(\'DONOTCACHEOBJECT\', true);
    }
});
似乎如果DONOTCACHEPAGE 一个页面只检测一次常量,它不会再次检查它。因此,如果我的购物车中有任何物品,它将永远不会缓存任何东西。同样,如果我的购物车有一次是空的,它将始终允许缓存所有页面。

如何动态禁用w3 total cache?

1 个回复
SO网友:cobcena

您可以尝试使用此类型函数:

add_action( \'wp_print_scripts\', \'my_deregister_javascript\', 100 );
    if ( !is_page(\'Events\') ) { 
        wp_deregister_script( \'wpng-calendar\' ); 
        wp_deregister_script( \'date-js\' ); 
        wp_deregister_script( \'thickbox-js\' ); 
        wp_deregister_script( \'jquery-js\' ); 
        wp_deregister_script( \'wiky-js\' ); 
     }
 }
在上找到它this website

您必须根据需要修改Nandler,我发现W3TC处理程序是:

TotalCacheAdmin.php (8 hits)

Line 614:         wp_enqueue_style(\'w3tc-options\');
Line 615:         wp_enqueue_style(\'w3tc-lightbox\');
Line 624:         wp_enqueue_script(\'w3tc-metadata\');
Line 625:         wp_enqueue_script(\'w3tc-options\');
Line 626:         wp_enqueue_script(\'w3tc-lightbox\');
Line 633:         wp_enqueue_script(\'jquery-ui-sortable\');
Line 637:         wp_enqueue_script(\'jquery-ui-dialog\');
Line 642:         wp_enqueue_script(\'w3tc-options\');

结束

相关推荐

Is the object cached?

我有一个函数来实例化一个类,以提供对其他函数的var访问。function my_data(){ global $post,$the_data; $postid = get_the_ID(); $the_data = new MY_Class ( $postid ); return $the_data; } 每个帖子都会调用这个函数,每当需要MY\\u类中的var时,每个帖子都会多次调用它。数据保存在WordPress Posteta中,并在My\\u类中

W3TC的适当挂钩定义或动态禁用w3总缓存 - 小码农CODE - 行之有效找到问题解决它

W3TC的适当挂钩定义或动态禁用w3总缓存

时间:2012-09-24 作者:jessica

我有一个使用购物车插件(Shopp)、我编写的插件和W3 Total Cache的网站。

在我的插件中,如果用户的购物车中有任何项目,我想确保W3 Total Cache不会提供任何缓存页面,但是,我似乎找不到合适的挂钩来定义将禁用W3 Total Cache缓存的常量。这是我插件文件顶部的内容(shopp\\u init函数在wordpress期间运行init):

// do not cache anything if items are in cart
add_action(\'shopp_init\', function(){
    if (shopp_cart_items_count() > 0)
    {
        define(\'DONOTCACHEDB\', true);
        define(\'DONOTCACHEPAGE\', true);
        define(\'DONOTCACHEOBJECT\', true);
    }
});
似乎如果DONOTCACHEPAGE 一个页面只检测一次常量,它不会再次检查它。因此,如果我的购物车中有任何物品,它将永远不会缓存任何东西。同样,如果我的购物车有一次是空的,它将始终允许缓存所有页面。

如何动态禁用w3 total cache?

1 个回复
SO网友:cobcena

您可以尝试使用此类型函数:

add_action( \'wp_print_scripts\', \'my_deregister_javascript\', 100 );
    if ( !is_page(\'Events\') ) { 
        wp_deregister_script( \'wpng-calendar\' ); 
        wp_deregister_script( \'date-js\' ); 
        wp_deregister_script( \'thickbox-js\' ); 
        wp_deregister_script( \'jquery-js\' ); 
        wp_deregister_script( \'wiky-js\' ); 
     }
 }
在上找到它this website

您必须根据需要修改Nandler,我发现W3TC处理程序是:

TotalCacheAdmin.php (8 hits)

Line 614:         wp_enqueue_style(\'w3tc-options\');
Line 615:         wp_enqueue_style(\'w3tc-lightbox\');
Line 624:         wp_enqueue_script(\'w3tc-metadata\');
Line 625:         wp_enqueue_script(\'w3tc-options\');
Line 626:         wp_enqueue_script(\'w3tc-lightbox\');
Line 633:         wp_enqueue_script(\'jquery-ui-sortable\');
Line 637:         wp_enqueue_script(\'jquery-ui-dialog\');
Line 642:         wp_enqueue_script(\'w3tc-options\');

相关推荐

Nginx+WordPress+HHVM:为什么Batcache不能工作?瓦尼什会提供更多帮助吗?

我听说了很多关于HHVM, 所以我用Nginx(带Pagespeed模块)和HHVM设置了WordPress博客的副本(在另一个域上)。现在,好处是显而易见的:在相同的配置上,加载时间要快两到三倍。我正在努力加快速度,我还安装了Memcached and Batcache. 我已经安装了memcached 包,已复制对象缓存。php(Pastebin) 在WordPress博客的根文件夹上,然后我安装了Batcache插件并复制了高级缓存。php(Pastebin) 将文件保存到wp content文件夹