我编写了一个与第三方邮件API接口的插件。我为插件创建了一个设置页面,其中包括两个按钮:
使用创建的提交按钮submit_button()
保存表单的“测试设置”按钮,应使用表单中的当前值,而不保存它们
echo \'<form method="post" action="options.php">\';
settings_fields(\'myplugin_settings\');
do_settings_sections(\'myplugin\');
echo \'<p>\';
submit_button(\'Test Settings\', \'\', \'test\', false);
echo \' \';
submit_button(null, \'primary\', \'submit\', false);
echo \'</p></form>\';
这将产生两个按钮,如预期的那样:
但是,我不知道如何覆盖“测试设置”按钮的操作。这个有钩子吗?我找不到这方面的任何文档。
SO网友:CK MacLeod
我不清楚“测试”按钮的用途,我想这可能会有所不同,但一般来说,我发现要使两个按钮在同一个选项页面上独立工作,最简单的事情是将它们放在两个单独定义的表单中,即使两个按钮将并排放置。
最简单的方法就是为“特殊”按钮创建一个“迷你表单”,如果需要的话,可以使用一点CSS将第二个按钮放在“主要”按钮之前或之上。因此,如果您really 如果需要并希望测试按钮首先出现,可以将其向左浮动。此外,您应该注意到,虽然您可以使用可选参数(“type”,“attribute”)为“submit\\u button”生成的按钮设置样式,但see Codex), 您没有义务将其与设置API一起使用:您可以生成相同的按钮,然后使用submit\\u button()生成的常规旧按钮html添加任何选择器或元素样式。
因此,主要是为了说明:
echo \'<form method="post" action="options.php">\';
settings_fields(\'myplugin_settings\');
do_settings_sections(\'myplugin\');
echo \'<p>\';
submit_button(null, \'primary\', \'submit\', false);
echo \'</form>\';
echo \'
<form method="post" name="test-button">
<span id="test-button">
<input id="test-settings" type="submit" value="Test Settings" class="button" >
</span>
</form>
\';