Как включить активацию плагина WordPress после проверки переменной на истинность - PullRequest
0 голосов
/ 09 июля 2020

Мне нужно дать возможность активировать разработанный мной плагин только после выполнения условия с переменной. Данные переменных извлекаются из базы данных.

$results = get_option( 'stp_api_settings');
$test_result = $results['stp_api_text_field_0'];

Теперь, если $ test_result возвращает ненулевое значение, активируется истинный плагин; если нет значения, отображается ложное сообщение об ошибке.

Я пытаюсь использовать следующий код:

add_action( 'admin_init', 'check_for_register_key' );
function check_for_register_key()
{

    $results = get_option( 'stp_api_settings');
    $test_result = $results['stp_api_text_field_0'];

    if ($test_result === true ) {
        add_action( 'admin_notices', 'error_notice' );
        deactivate_plugins( plugin_basename( __FILE__ ) ); 
        if ( isset( $_GET['activate'] ) ) {
            unset( $_GET['activate'] );
        }
    }
}

function register_plugin_notice(){
?><div class="error"><p>The plugin is not registered, go to the options page and enter the activation 
key.</p></div><?php
}

Но он не работает: плагин зарегистрирован в любом case, независимо от значения переменной. Помогите пожалуйста решить проблему.

1 Ответ

0 голосов
/ 09 июля 2020

Попробуйте это решение . Вам необходимо использовать функцию обратного вызова register_activation_hook для логического представления перед активацией плагина

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...