私はactivate_pluginにフックしようとしています。
Activate_pluginには1つの必須パラメータと2つのオプションパラメータがあることを私は知っています。私は3つすべてを取得しようとしています。
これが私の設定です。
// create plugin settings menu
add_action('admin_menu', 'pe_create_menu');
function pe_create_menu() {
//create new sub-level menu
add_submenu_page( 'plugins.php', 'Plugin Settings', 'Plugin Enabler', 'administrator', __FILE__, 'pe_settings_page' );
// Add my hook
add_action( 'activate_plugin', 'pe_network_activate', 10, 3 );
}
そして私の機能:
function pe_network_activate( $plugin, $redirect = '', $network_wide = false ) {
$args = var_export( func_get_args(), true);
_log("Args: " . $args); // write to the WP error_log
}
$ argsは最初のパラメータのみを返します。 3をすべて入手するにはどうすればよいですか。
私の目標は、いつプラグインがネットワークでアクティブ化されているのか、または通常はアクティブ化されているのかを判断できるようにすることです。したがって、$ network_wideが必要です。
activate_plugin()
関数 は3つのパラメータを受け取りますが、1つのパラメータのみを持つactivate_plugin
アクションを発行します。これは混乱を招くことがありますが、フックは、同じパラメータを渡さずに、元の関数と同じ名前を使用することがあります。
ネットワークアクティベーションと通常のアクティベーションの違いを知る1つの方法は、update_site_option
とupdate_option
フックを監視することです。 activate_plugin()
の$network_wide
パラメータに応じて、それらのうち1つだけが起動します。
var_export()
には何が必要ですか? func_get_args()
はあなた自身で一連の引数を与えるべきです。