我有一个Wordpress插件,其中添加了一个允许用户设置各种选项的菜单。我使用了这里描述的“add_menu_page”函数 - http://codex.wordpress.org/Function_Reference/add_menu_page。我现在需要在保存此页面上的选项后执行一些操作,但我不确定我是否可以这样做,或者,如果可以的话,我可以使用什么钩子。
我无法准确发布我正在使用的代码来创建此选项页面,但我会尝试将类似的内容放在一起以获取消息
function my_menu_page() {
add_menu_page('My Menu', 'My Menu', 'edit_posts', "my_menu_settings", "my_menu_settings");
}
function my_menu_settings() {
echo "
<h1>My Menu Settings</h1>
<div>
<form action='options.php' method='post' name='options'>
" . wp_nonce_field('update-options') . "
<input type='text' name='my_option_1' value='" . get_option('my_option_1') . "' /><br />
<input type='hidden' name='action' value='update' />
<input type='hidden' name='page_options' value='my_option_1' />
<input type='submit' name='Submit' value='Update' />
</form>
</div>
";
}
add_action('admin_menu', 'my_menu_settings');
答案 0 :(得分:0)
我认为您正在寻找类似 update_option ,here is the link to the Wordpress documentation
以下是同一钩子的一些变体: (update_option也可以用于保存/创建新选项)
update_option_ {option_name} :在名称为“ option_name”的选项更新后运行。例如,对于名称为“ foo”的选项:
add_action('update_option_foo', 'my_menu_settings', 10, 2);
update_option :在更新选项之前运行。示例:
add_action('update_option', 'my_menu_settings', 10, 3);
updated_option :在选项更新后运行。示例:
add_action('updated_option', 'my_menu_settings', 10, 3);
谢谢
答案 1 :(得分:0)
如果有人要在保存之前进行一些操作/清理,他可以使用 pre_update_option_foo 钩子
add_filter( 'pre_update_option_foo', 'myplugin_update_field_foo', 10, 2 );
在Codex中查看详细信息/示例:https://developer.wordpress.org/reference/functions/update_option/
答案 2 :(得分:-3)
您可以使用WordPress操作挂钩&#39; save_post&#39;在页面保存后添加操作。有关此WordPress挂钩的更多信息和示例,请阅读http://codex.wordpress.org/Plugin_API/Action_Reference/save_post