Как отображать уведомления администратора при проверке версии WooCommerce

Я хочу показать уведомление администратора, которое должно показывать, если 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');

1

Решение

Ну, ваша функция на правильном пути, но не работает, потому что $woocommerce не номер версии. Это глобальная переменная, которая устарела, но содержит экземпляр основного WooCommerce учебный класс. Теперь вы можете получить экземпляр этого класса через функцию WC(), И одна из переменных класса version так что вы можете получить текущую версию WC через WC()->version, Кроме того, я думаю, вам нужно перевернуть оператор сравнения. Не проверено, но я думаю, что это будет работать.

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');
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]