首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >自动删除woocommerce客户会话和临时会话

自动删除woocommerce客户会话和临时会话
EN

Stack Overflow用户
提问于 2015-06-29 21:16:26
回答 2查看 9.5K关注 0票数 2

我的一个客户的网站太慢了,它的等待时间是6到7秒。我找到了根本原因,这是因为wp_options table中充满了大量客户会话数据,这些数据将表大小增加到1.7 GB。删除200万行需要6-7个小时。我知道我现在可以通过转到Woocomerce > System Status > Tools > Clear all会话和清除瞬态来手动删除会话和瞬态,但我希望它在一两天后自动完成。有没有什么可以做的,比如创建cron job等等?谢谢

EN

回答 2

Stack Overflow用户

发布于 2015-06-29 22:01:23

也许你应该试试这个插件:

Delete Expired Transients

票数 2
EN

Stack Overflow用户

发布于 2020-11-12 22:52:13

很久以后,但是那个awnser将会帮助一些人

下面的代码将每天(从您当前的时间)执行,即clean session/cart Woocommerce。

代码语言:javascript
复制
// clean cart every day
if (!wp_next_scheduled('cron_wc_clean_cart')) {
    wp_schedule_event( time(), 'daily', 'cron_wc_clean_cart' );
}

add_action ( 'cron_wc_clean_cart', 'wc_clean_session_cart' );
function wc_clean_session_cart() {
    global  $wpdb;

    $wpdb->query( "TRUNCATE {$wpdb->prefix}woocommerce_sessions" );
    $wpdb->query( "DELETE FROM {$wpdb->usermeta} WHERE meta_key='_woocommerce_persistent_cart_" . get_current_blog_id() . "';" );
    wp_cache_flush();
}

对于瞬态,它在wc中的函数:

代码语言:javascript
复制
wc_delete_expired_transients()
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31116753

复制
相关文章

相似问题

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