【问题标题】:How to show admin notices when checking WooCommerce version检查 WooCommerce 版本时如何显示管理员通知
【发布时间】:2016-10-20 00:59:24
【问题描述】:

我想显示一个管理员通知,如果 WooCommerce 不是最新版本,该通知应该显示。我尝试了以下不起作用的功能。任何帮助将不胜感激。

function check_wc_version($version = '2.6.1'){
    if ( function_exists( 'is_woocommerce_active' ) && is_woocommerce_active() ) {
        global $woocommerce;
        if( version_compare( $woocommerce, $version, ">=" ) ) {
            echo 'Show some notice here';
        } 
    }
}
add_action('admin_notices', 'check_wc_version');

【问题讨论】:

    标签: php wordpress woocommerce versioning


    【解决方案1】:

    您的功能在正确的轨道上,但由于$woocommerce 不是版本号而无法正常工作。它是一个已被弃用的全局变量,但它包含主 WooCommerce 类的实例。您现在可以通过函数WC() 获取该类的单例实例。其中一个类变量是version,因此您可以通过WC()->version 获取当前版本的WC。另外,我认为您需要翻转比较运算符。未经测试,但我认为这会奏效。

    function check_wc_version($version = '2.6.1'){
        if ( function_exists( 'WC' ) && ( version_compare( WC()->version, $version, "<" ) ) {
                echo 'You need a higher version of WooCommerce';
        }
    }
    add_action('admin_notices', 'check_wc_version');
    

    【讨论】:

    • 感谢您的回复。实际上我最终使用了这样的常量 if (defined('WOOCOMMERCE_VERSION') && version_compare(WOOCOMMERCE_VERSION, '2.6.0', '>=')) {
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-26
    • 2017-06-20
    相关资源
    最近更新 更多