Я хочу показать уведомление администратора, которое должно показывать, если 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');
Ну, ваша функция на правильном пути, но не работает, потому что $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');
Других решений пока нет …