ここから本文です
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
);

