Уроки по WordPress

Как проверить версию WooCommerce

Разрабатывая дополнения для WooCommerce я столкнулся с необходимостью проверки текущей версии данного плагина. Это нужно в первую очередь для того, чтобы обеспечивать совместимость кода и избежать появления всевозможных ошибок. Предлагаю вашему вниманию следующее решение данной задачи:

if (!function_exists('get_woo_version_number')) {
 function get_woo_version_number() {
 // If get_plugins() isn't available, require it
 if (!function_exists('get_plugins')) {
	require_once( ABSPATH . 'wp-admin/includes/plugin.php');
 }
 // Create the plugins folder and file variables
 $plugin_folder = get_plugins('/' . 'woocommerce');
 $plugin_file = 'woocommerce.php';
	
 // If the plugin version number is set, return it 
 if (isset( $plugin_folder[$plugin_file]['Version'] ) ) {
	return $plugin_folder[$plugin_file]['Version'];
 } else {	
	return NULL;
 }
}
}

Код выше вы можете вставить в файл function.php вашей темы либо в код вашего плагина. Если вы заметили, то я обернул функцию в условие function_exists. Можно данный if убрать, но в таком случае я настоятельно рекомендую добавить функции get_woo_version_number какой-нибудь уникальный префикс (особенно, если вы пишите плагин).

Пример использования:

echo get_woo_version_number();

Этот код выведет на экран номер текущей версии вукомерц.

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

Наверняка вы видели, что Вукомерц при выходе новой версии может уведомить пользователя о том, что такие-то плагины совместимы, а такие-то не проходили проверку на совместимость с новой версией Вукомерца. Выглядит это примерно так:

woocommerce проверка совместимости плагинов

А достигается очень просто. В шапку вашего плагина необходимо добавить следующую информацию:

WC requires at least: 3.0.0
WC tested up to: 3.5.5

где WC requires at least - минимальная версия WooCommerce, необходимая для работы, а WC tested up to: 3.5.5 - последняя версия WooCommerce с которой проверялась совместимость с вашим плагином.

Пример кода моего плагина:

совместимость с вукомерц

Еще одна функция, которая вам может понадобиться. Нарыл на зарубежном форуме:

/**
* Check WooCommerce Version
* @param string $version
* @return bool
*/
function woo_feed_wc_version_check( $version = '3.0' ) {
if ( class_exists( 'WooCommerce' ) ) {
global $woocommerce;
if ( version_compare( $woocommerce->version, $version, ">=" ) ) {
return true;
}
}
return false;
}

Рейтинг:

2019-03-13 | | 0 comment | , ,

Альтернативный заголовок изображения

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *