プラグインが更新されたときに関数を実行するために使用できるWordPressフックはありますか?
アクティビティを追跡できるように、何かが更新されるたびにログインユーザーのIPを使用してログファイルに書き込もうとしています。
多分 upgrader_process_complete()
アクションフック。
一括アップグレードプロセスが完了したときに発生します。
761行目の wp-admin /には/ class-wp-upgrader.phpが含まれます
ソースから:
/** * Fires when the upgrader process is complete. * * See also {@see 'upgrader_package_options'}. * * @since 3.6.0 * @since 3.7.0 Added to WP_Upgrader::run(). * @since 4.6.0 `$translations` was added as a possible argument to `$hook_extra`. * * @param WP_Upgrader $this WP_Upgrader instance. In other contexts, $this, might be a * Theme_Upgrader, Plugin_Upgrader, Core_Upgrade, or Language_Pack_Upgrader instance. * @param array $hook_extra { * Array of bulk item update data. * * @type string $action Type of action. Default 'update'. * @type string $type Type of update process. Accepts 'plugin', 'theme', 'translation', or 'core'. * @type bool $bulk Whether the update process is a bulk update. Default true. * @type array $plugins Array of the basename paths of the plugins' main files. * @type array $themes The theme slugs. * @type array $translations { * Array of translations update data. * * @type string $language The locale the translation is for. * @type string $type Type of translation. Accepts 'plugin', 'theme', or 'core'. * @type string $slug Text domain the translation is for. The slug of a theme/plugin or * 'default' for core translations. * @type string $version The version of a theme, plugin, or core. * } * } */ do_action( 'upgrader_process_complete', $this, $options['hook_extra'] );
下記はcodexの単なる例です(untestedthere、btwと表記されています)。そして、すべてのプラグインの更新の可能性のあるインスタンスを表示するように編集しました。
add_action( 'upgrader_process_complete', 'my_upgrate_function',10, 2);
function my_upgrate_function( $upgrader_object, $options ) {
if ($options['action'] == 'update' && $options['type'] == 'plugin' ) {
foreach($options['packages'] as $each_plugin) {
// do stuff
}//end foreach
}//end if
}//end my_upgrade_function()