Невозможно изменить значение свойства с помощью метода в плагине WordPress.Php

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Невозможно изменить значение свойства с помощью метода в плагине WordPress.

Сообщение 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.
Почему значение свойства не обновляется? спасибо

Обновлено:

Второе решение, как предложил @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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»