私はupdate_option('active_plugins,'some_plugins');
を使ってプラグインをリモートでアクティブ化しています。それは1つのことを除けばうまくいきます:いくつかのプラグインがregister_activation_hook(__FILE__,'activate');
を使っていくつかのテーブルを作成しなければならない場合。
wp-admin/plugins.php
で普通にプラグインをアクティベートしているときはうまくいきます。このアクティベーションフックをリモートで実行する方法、またはより良いプラグインアクティベーションのための異なる方法があるかもしれません。
代わりにactivate_plugin()
を使用してください。
activate_plugin( $plugin, $redirect = '', $network_wide = false, $silent = false )
最初のパラメータだけが必要です。オプションと同じ値です。
この関数は必要なアクションを呼び出します。
if ( ! $silent ) {
do_action( 'activate_plugin', $plugin, $network_wide );
do_action( 'activate_' . $plugin, $network_wide );
}
注:activate_plugin関数を呼び出す場所によっては、これを追加する必要があるかもしれません。
include_once( ABSPATH . 'wp-admin/includes/plugin.php' );