Question

J'ai mon plugin toute configuration à l'aide de l'API des paramètres et fonctionne, mais ce que j'ai, ce sont deux fonctions manuelles de mon plugin qui peuvent être exécutées par l'utilisateur d'administration en visitant l'URL suivante

<?php echo admin_url(); ?>options-general.php?page=wordpress-file-monitor-plus&sc_wpfmp_action=1&sc_wpfmp_scan=1
<?php echo admin_url(); ?>options-general.php?page=wordpress-file-monitor-plus&sc_wpfmp_action=1&sc_wpfmp_reset_settings=1

J'utilise le admin_init Crochet pour rechercher ces paramètres et faire ces fonctions.

Les fonctions s'exécutent bien et l'utilisateur est de retour sur ma page de paramètres de plugin, mais les paramètres GET sont toujours dans l'URL. Pas un gros problème, mais si l'utilisateur va de l'avant et enregistre les paramètres, ces paramètres reçoivent à nouveau et exécutent ainsi ces fonctions à nouveau.

Pourquoi l'API des paramètres envoie-t-il ces paramètres lors de la soumission du formulaire de paramètres? L'action du formulaire est de se soumettre à options.php.

La seule façon de contourner mon problème auquel je peux penser est qu'après que ces fonctions manuelles ont exécuté son code admin_init est d'exécuter une redirection vers la page Paramètres sans les paramètres GET, mais si je fais cela, je perdrai mes avis d'administration, j'essaie de montrer à l'utilisateur.

Quoi qu'il en soit, j'ai des suggestions sur la façon dont je peux contourner ce problème. Peut-être pensez-vous qu'il existe une meilleure façon d'exécuter ces fonctions manuelles?

Modifier: Code des paramètres complets: http://pastebin.com/gk5rf5lc

Pas de solution correcte

Licencié sous: CC-BY-SA avec attribution
Non affilié à wordpress.stackexchange
scroll top