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
);

ジャンル: WordPressWeb