Je suis à distance en activant les plugins en utilisant update_option('active_plugins,'some_plugins');
. Cela fonctionne très bien sauf une chose: si certains plugins doivent créer des tables en utilisant register_activation_hook(__FILE__,'activate');
, ils ne les créeront pas.
Lorsque j'active des plugins normalement dans wp-admin/plugins.php
, cela fonctionne bien. Des idées sur la façon d'exécuter à distance ce crochet d'activation ou peut-être existe-t-il un moyen différent de mieux activer le plugin?
Utilisez activate_plugin()
à la place:
activate_plugin( $plugin, $redirect = '', $network_wide = false, $silent = false )
Vous avez juste besoin du premier paramètre, la même valeur que dans l'option.
Cette fonction appellera les actions nécessaires:
if ( ! $silent ) {
do_action( 'activate_plugin', $plugin, $network_wide );
do_action( 'activate_' . $plugin, $network_wide );
}
Remarque: selon l'endroit où vous appelez la fonction activate_plugin, vous devrez peut-être ajouter ceci:
include_once( ABSPATH . 'wp-admin/includes/plugin.php' );