我想补充一下Delete
“我的文件”旁边的按钮Upload
我的插件设置中的选项。
此时,我正在使用设置API,使用下面的表单。
<form method="post" action="options.php" enctype="multipart/form-data">
<?php
settings_fields("mw_options");
do_settings_sections("mw_options");
submit_button();
?>
</form>
它工作得很好,我在表单中有大约10个字段,其中一个是文件上传,可以在Woocommerce电子邮件中添加附件。一切都很好,但我想补充一点
Delete
按钮旁边的
Upload
按钮,这样我就可以使用updated\\u option或delete\\u option挂钩,或其他更合适的选项。
我不知道该怎么做。
现在我使用自己的delete\\u附件。php和formaction上的按钮来完成这项工作,但我想稍后再做更多,我觉得有更好的方法。
function mw_options_wc_order_attachement_1()
{
?>
<input type="file" name="mw_options_wc_order_attachement_1" id="mw_options_wc_order_attachement_1" value="<?php echo get_option(\'mw_options_wc_order_attachement_1\'); ?>" />
<?php echo get_option("mw_options_wc_order_attachement_1"); ?>
<input type="submit" name="mw_options_wc_order_attachement_1" formaction="<?php echo plugins_url( \'delete_attachment.php\' , __FILE__ );?>" formmethod="post" value="Delete">
<?php
}
如何在主选项的区域内创建另一个按钮,以执行我拥有的一些删除脚本?
SO网友:Mike
我设法用这种方式添加了删除按钮,它也可以用来添加任何额外的提交按钮。
创建具有名称和数组属性的提交按钮:
function mw_options_wc_order_attachement_1()
{
?>
<input type="file" name="mw_options_wc_order_attachement_1" id="mw_options_wc_order_attachement_1" value="<?php echo get_option(\'mw_options_wc_order_attachement_1\'); ?>" />
<?php echo get_option("mw_options_wc_order_attachement_1"); ?>
<input type="submit" name="submit[delete_attachment_1]" class="button button-primary" value="Delete" />
<?php
}
使用回调函数进行寄存器设置,
mw_options_wc_order_attachement_1_handle
是本例中函数的名称。
register_setting("mw_options", "mw_options_wc_order_attachement_1", "mw_options_wc_order_attachement_1_handle");
使回调函数如下所示:
function mw_options_wc_order_attachement_1_handle($options)
{
if (isset($_POST["submit"]))
{
$submit_button = $_POST["submit"];
if (isset($submit_button["delete_attachment_1"]))
{
// delete file
wp_delete_file(\'YOUR-FILE-SERVER-PATH\');
return \'\'; // returns empty option value to settings
}
}
}