如何使用自定义操作将辅助按钮添加到设置页面?

时间:2016-07-19 作者:George Edison

我编写了一个与第三方邮件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>\';
这将产生两个按钮,如预期的那样:

enter image description here

但是,我不知道如何覆盖“测试设置”按钮的操作。这个有钩子吗?我找不到这方面的任何文档。

1 个回复
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>
\';

相关推荐