ここから本文です
WordPressのupgrader_process_completeフックについて
wp cronによるプラグインのアップデートを監視したくて、フックを調べていたところ、upgrader_process_completeを見つけました。
Googleで調べるとサンプルでは大概、$options['plugins']をforeachで回すサンプルが見られるのですが、これwp cronのwp_version_checkで走る時には、$options['plugins']は来ないのですね。
add_action( 'upgrader_process_complete', function ($upgrader_object, $options) { if ($options['action'] == 'update' && $options['type'] == 'plugin') { foreach($options['plugins'] as $each_plugin) { } } }, 10, 2 );
代わりに$options['plugin'](単数系)がくるので、こんな感じで分岐しないと捕まえられないみたい。
add_action( 'upgrader_process_complete', function ($upgrader_object, $options) { if ($options['action'] == 'update' && $options['type'] == 'plugin') { if (isset($options['plugins']) && is_array($options['plugins'])) { foreach($options['plugins'] as $each_plugin) { } } elseif (isset($options['plugin'])) { } } }, 10, 2 );