register_activation_hookの変数のスコープではまった件
関数リファレンス/register activation hook - WordPress Codex 日本語版にもしっかり書いてあるのに・・・。
<?php // プラグインオプションの設定画面 $some_options_keys = array('hoge_dirs' => 'カンマ区切りで設定'); register_deactivation_hook(__FILE__, 'uninstall_hook_some'); register_activation_hook(__FILE__, 'install_hook_some'); function uninstall_hook_some () { global $some_options_keys; foreach ($some_options_keys as $key=>$desc) { $r = delete_site_option($key); } } function install_hook_some () { global $some_options_keys; foreach ($some_options_keys as $key=>$desc) { $r = add_site_option($key, $desc); } }
とかかいてて、なんでsite_optionがaddされないのか悩んだ・・・。deactivateの時はグローバル変数使えるから余計混乱した。WordPressぇぇぇ。