Я пытаюсь проверить, активен ли WooCommerce или нет, я создал свойство со значением по умолчанию false, затем я создал метод, чтобы проверить, активен ли WooCommerce, с помощью is_plugin_active() и хука admin_init, если он активен, значение свойства должно быть обновлено до true: вот код:
class MyClass{
public $woo_active = false;
public function __construct(){
add_action( 'admin_init', array( $this, 'check_if_woo_active' ) );
}
// check if WooCommerce is active
public function check_if_woo_active(){
if( is_plugin_active( 'woocommerce/woocommerce.php' ) ){
$this->woo_active = true;
}
}
// is_woo_active()
public function is_woo_active(){
return $this->woo_active;
}
}
$var = new MyClass();
var_dump( $var->is_woo_active() );
проблема в том, что var_dump возвращает false, даже если WooCommerce активен, НО, если я использую var_dump внутри функции check_if_woo_active(), он возвращает true.
Почему значение свойства не обновляется? спасибо
Обновлено:
Второе решение, как предложил @helgatheviking, работает нормально, также это работает очень хорошо и коротко
class MyClass{
// check if WooCommerce is active
public function is_woo_active(){
include_once( ABSPATH . 'wp-admin/includes/plugin.php' );
if( is_plugin_active( 'woocommerce/woocommerce.php' ) ){
return true;
}else{
return false;
}
}
}
$var = new MyClass();
var_dump( $var->is_woo_active() );
Подробнее здесь: https://stackoverflow.com/questions/426 ... ess-plugin
Невозможно изменить значение свойства с помощью метода в плагине WordPress. ⇐ Php
Кемеровские программисты php общаются здесь
1719984007
Anonymous
Я пытаюсь проверить, активен ли WooCommerce или нет, я создал свойство со значением по умолчанию false, затем я создал метод, чтобы проверить, активен ли WooCommerce, с помощью is_plugin_active() и хука admin_init, если он активен, значение свойства должно быть обновлено до true: вот код:
class MyClass{
public $woo_active = false;
public function __construct(){
add_action( 'admin_init', array( $this, 'check_if_woo_active' ) );
}
// check if WooCommerce is active
public function check_if_woo_active(){
if( is_plugin_active( 'woocommerce/woocommerce.php' ) ){
$this->woo_active = true;
}
}
// is_woo_active()
public function is_woo_active(){
return $this->woo_active;
}
}
$var = new MyClass();
var_dump( $var->is_woo_active() );
проблема в том, что var_dump возвращает false, даже если WooCommerce активен, НО, если я использую var_dump внутри функции check_if_woo_active(), он возвращает true.
Почему значение свойства не обновляется? спасибо
[b]Обновлено:[/b]
Второе решение, как предложил @helgatheviking, работает нормально, также это работает очень хорошо и коротко
class MyClass{
// check if WooCommerce is active
public function is_woo_active(){
include_once( ABSPATH . 'wp-admin/includes/plugin.php' );
if( is_plugin_active( 'woocommerce/woocommerce.php' ) ){
return true;
}else{
return false;
}
}
}
$var = new MyClass();
var_dump( $var->is_woo_active() );
Подробнее здесь: [url]https://stackoverflow.com/questions/42699792/cant-change-property-value-through-a-method-in-a-wordpress-plugin[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия