检查WooCommerce是否处于活动状态以及使用什么版本

里扎德(RyszardJędraszyk)

我需要检查WooCommerce是否处于活动状态,并检查其版本号,以使其在新旧版本中的工作方式有所不同。

我发现WC_VERSION存储了版本号,因此,如果存在版本号,则也意味着WooCommerce处于活动状态。问题在于,只有在加载插件后,它才能返回任何内容。我想检查版本,然后woocommerce_ver_check function在一般范围之外使用我可以没有全局变量吗?

我想做这样的事情,但woocommerce_ver_check()始终为null,因为它在WooCommerce加载后执行,这与未分配给任何钩子的其余代码不同:

// Check WooCommerce version.
add_action('plugins_loaded', 'woocommerce_ver_check');
function woocommerce_ver_check() {
    if (defined('WC_VERSION')) return WC_VERSION; 
}

// Only if WooCommerce is active.
if (! woocommerce_ver_check() == null  ) {
    if ( version_compare( WC_VERSION, '3.0', '>=' ) ) {
        // new version code
    } else {
        // old version code
    }
}
LoicTheAztec

您也可以尝试使用以下内容(用于WooCommerce第三方插件):

if ( in_array( 'woocommerce/woocommerce.php', apply_filters( 'active_plugins', get_option( 'active_plugins' ) ) ) ) {
    if ( version_compare( WC_VERSION, '3.0', '<' ) ) {
        // Old version code (example)
        $product_id = $cart_item['data']->id
    } else {
        // New version code (example)
        $product_id = $cart_item['data']->get_id();
    }
}

对于新的WooCommerce 3 CRUD对象方法,您还可以使用method_exists(),例如:

$order_id = method_exists( $order, 'get_id' ) ? $order->get_id() : $order->id;

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何检查我是否处于检查状态?

检查VPN连接在Android中是否处于活动状态?

检查反应路由器路径是否处于活动状态

Ionic2-检查页面是否处于活动状态

从Service Worker检查窗口是否处于活动状态

Wordpress:如何检查插件是否处于活动状态?

检查引导单选按钮是否处于活动状态

如何检查Python venv在Windows中是否处于活动状态?

在使用Swift单击UITableview单元格之前如何检查SearchController是否处于活动状态

选择保持活动连接时,如何检查连接是否处于活动状态?

lua中有能力检查小饰品是否处于冷却状态,以及是否不使用它

如何检查webm icecast流是否处于活动状态?

检查是否使用Android默认浏览器或任何移动浏览器(如果处于活动状态)

在RDP启用之前检查用户是否在远程计算机上处于活动状态的方法

如何检查移动数据是否处于活动状态或wifi是否已连接到任何热点?

检查通知是否处于活动状态

MySQL约束检查是否存在并处于活动状态

垃圾邮件发送者可以使用DKIM检查我的邮件是否处于活动状态吗?

RESTFUL->检查某个项目是否处于活动状态?

如何使用硒检查链接是否处于活动状态

测试div是否处于活动状态jQuery

如何检查uicontextmenu是否可见或处于活动状态

使用vgchange禁用后,卷组是否仍处于活动状态?

如何检查 div 的第一个孩子是否处于活动状态

如何不断检查线程是否处于活动状态

如何检查通知是否在android中处于活动状态

如何使用 metricbeat 检查我的服务器是否处于活动状态,这可能吗?

从微软图形 API 检索时如何检查用户是否处于活动状态

检查数组中的所有按钮是否都处于活动状态