Benutzerdefiniertes Löschen der Optionsschaltfläche in den Plugin-Einstellungen

Ich möchte die Schaltfläche ” Delete neben der Option zum Upload meiner Datei in meinen Plugin-Einstellungen hinzufügen.

In diesem Moment verwende ich die Einstellungs-API, die unten das Formular verwendet.

 

Es funktioniert großartig, ich habe ungefähr 10 Felder im Formular, eine davon ist das Hochladen von Dateien, die Anhänge zu einer Woocommerce E-Mail hinzufügen. Alles funktioniert gut, aber ich möchte die Schaltfläche ” Delete neben der Schaltfläche ” Upload in meinem Formular hinzufügen, damit ich den Hook “updated_option” oder “delete_option” oder etwas geeigneteres verwenden kann.

Ich kann nicht herausfinden, wie das geht.

Jetzt benutze ich meine eigene delete_attachment.php und formaction auf der Schaltfläche, um den Job zu erledigen, aber ich möchte später mehr davon machen und ich denke, dass es einen besseren Weg gibt.

 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="" />  <input type="submit" name="mw_options_wc_order_attachement_1" formaction="" formmethod="post" value="Delete"> <?php } 

Wie kann ich eine weitere Schaltfläche im Bereich der Hauptoption erstellen, die ein Lösch-Skript ausführen würde?

Solutions Collecting From Web of "Benutzerdefiniertes Löschen der Optionsschaltfläche in den Plugin-Einstellungen"

Ich habe es geschafft, den Lösch-Button auf diese Weise hinzuzufügen, er kann auch verwendet werden, um einen zusätzlichen Submit-Button hinzuzufügen.

Erstellen Sie eine Senden-Schaltfläche mit Name und Array-Attribut:

 function mw_options_wc_order_attachement_1() { ?>  < ?php echo get_option("mw_options_wc_order_attachement_1"); ?>  < ?php } 

Register Einstellung mit Callback-function, mw_options_wc_order_attachement_1_handle ist der Name der function in meinem Fall.

 register_setting("mw_options", "mw_options_wc_order_attachement_1", "mw_options_wc_order_attachement_1_handle"); 

Machen Sie die Callback-function etwa so:

 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 } } }