Мне нужно проверить, активен ли WooCommerce, и проверить номер его версии, чтобы он работал по-разному для новых и старых версий.
Я обнаружил, что WC_VERSION
хранит номер версии, поэтому, если он существует, это также означает, что WooCommerce активен. Проблема в том, что он может вернуть что угодно только после загрузки плагинов. Я хотел бы проверить версию и затем использовать за пределами woocommerce_ver_check function
в общем объеме. Могу ли я сделать это без глобальных переменных?
Я хочу сделать что-то подобное, но woocommerce_ver_check()
всегда равно нулю, потому что оно выполняется после загрузки 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
}
}