Я намагаюся автоматично активувати другий плагін під час активації першого плагіна.
register_activation_hook(__FILE__, 'example_activation' );
function example_activation() {
include_once(ABSPATH .'/wp-admin/includes/plugin.php');
activate_plugin('hello.php');
}
Його не працює всередині register_activation_hook .. Його працює, якщо я використовую його безпосередньо, як:
include_once(ABSPATH .'/wp-admin/includes/plugin.php');
activate_plugin('hello.php');
Як я можу це виправити? Дякуємо за допомогу
Рішення:
Я зараз це використовую для себе:
// When this plugin activate, activate another plugin too.
register_activation_hook(__FILE__, function(){
$dependent = 'hello.php';
if( is_plugin_inactive($dependent) ){
add_action('update_option_active_plugins', function($dependent){
/* for some reason,
activate_plugin($dependent);
is not working */
activate_plugin('hello.php');
});
}
});
// When this plugin deactivate, deactivate another plugin too.
register_deactivation_hook(__FILE__, function(){
$dependent = 'hello.php';
if( is_plugin_active($dependent) ){
add_action('update_option_active_plugins', function($dependent){
deactivate_plugins('hello.php');
});
}
});