手动运行WooCommerce DB更新程序



在WordPress网站上,我们尝试更新WooCommerce Subscriptions插件。它得到了一半,但随后因以下消息而处于非活动状态:

WooCommerce Subscriptions处于非活动状态。此版本的订阅需要 WooCommerce 2.3 或更高版本。请将WooCommerce更新到2.3或更高版本

我们正在运行WooCommerce 2.5.3 ...所以已经比 2.3 更新了。

向WooCommerce提交票证会产生以下消息:

看起来您的WooCommerce数据库需要更新!在WordPress管理员中运行数据库更新程序。您仍然可以在下面提交工单。

在Woocommerce区域中,有一个系统状态报告区域。它显示:

数据库
WC 数据库版本:

✔ woocommerce_sessions

这是WC数据库版本的空白。

WC 数据库版本存储在哪里? 我们可以更新吗?还是手动运行数据库更新程序?

谢谢!

如果您想从CMS手动触发WooCommerce数据更新,您可以使用以下网址:

wp-admin/admin.php?page=wc-settings&do_update_woocommerce=1

我尝试了这个线程中的答案,包括 URL 技巧,但截至 2019 年 8 月,它们似乎不起作用并强制更新 Woo。

我发现强制WooCommerce更新的最佳方法是通过WP CLI并运行以下命令:

wp wc update

好吧,实际上,在 IT 经理和我之间,我想我们已经想通了。

Woocommerce-subscriptions.php选中文件顶部附近的woocommerce_db_version选项。

if ( ! is_woocommerce_active() || version_compare( get_option( 'woocommerce_db_version' ), '2.3', '<' ) ) {
        add_action( 'admin_notices', 'WC_Subscriptions::woocommerce_inactive_notice' );
        return;
}

get_option 是检查wp_options表的一种方法。https://codex.wordpress.org/Function_Reference/get_option

而且缺少woocommerce_db_version选项。 所以。。。插入语句让它表现良好!

insert into wp_options (option_name, option_value, autoload) Values ('woocommerce_db_version', '2.5.3', 'yes');

我遇到了同样的问题。我检查了MySQL wp_options表,Woocommerce版本被称为woocommerce_version,而不是woocommerce_db_version。所以我改变了:

if ( ! is_woocommerce_active() || version_compare( get_option( 'woocommerce_db_version' ), '2.3', '<' ) ) { add_action( 'admin_notices', 'WC_Subscriptions::woocommerce_inactive_notice' ); 返回;}

到以下内容:

if ( ! is_woocommerce_active() || version_compare( get_option( 'woocommerce_version' ), '2.3', '<' ) ) { add_action( 'admin_notices', 'WC_Subscriptions::woocommerce_inactive_notice' ); 返回;}

这为我解决了问题。...约翰·

最新更新