我的客户网站之一放慢了太多,等待时间为6到7秒。我找到了根本原因,因为wp_options table
填充了大量客户会话数据,将表大小增加到1.7 GB。删除200万行需要6-7个小时。我知道我现在可以通过转到Woocomerce > System Status > Tools > Clear all
会话&手动删除会话和瞬变。明确的瞬态,但我希望它在一两天后自动完成。有没有什么可以像创建cron job
等那样做?
感谢
答案 0 :(得分:2)
也许你应该尝试这个插件:
答案 1 :(得分:1)
很久以后,但那个遮阳篷可以帮助某人
下面的代码将每天(从您当前的时间)执行干净的会话/购物车Woocommerce。
// 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中起作用:
wc_delete_expired_transients()