J'ai une page d'options pour mon plugin. Je veux que l'utilisateur puisse cliquer sur un bouton pour exécuter une fonction membre de la classe de mon plugin. J'ai trouvé cette page:
Mais je ne suis pas sûr d’interpréter correctement les instructions. J'ai trouvé que la création d'un formulaire avec une action = "options-general.php? Page = MY_OPTIONS_PAGE_SLUG" fonctionnera. Comme ça:
<form method="post" action="options-general.php?page=my_options_page_slug">
<input type="hidden" name="banana" value="yellow">
<input type="submit" class="button-primary" value="<?php _e('Go') ?>" />
</form>
Est-ce ce que l'article de stackoverflow recommande? Est-ce une façon décente de faire cela? Je ne suis pas prêt à entrer dans (le WP) AJAX pour l'instant. Je suis d'accord avec un formulaire et un rafraîchissement de page.
Merci d'avoir lu.
Essayez d’utiliser le crochet d’action 'init' pour gérer le déclencheur d’envoi. Créez un nouvel objet de votre classe dans la fonction accrochée et appelez la fonction membre.
Oui, cette méthode devrait être correcte. Ajouter un nonce est toujours une bonne chose à faire.
De la page WP Codex : Les nonces sont utilisés comme protection liée à la sécurité prévenir les attaques et les erreurs. (Cela me semble bien!)
Vous pouvez également utiliser les variables $pagenow
et $typenow
au lieu de coder en dur une URL dans l'attribut d'action du formulaire.
Il y a de meilleures façons (comme AJAX) mais je pense que c'est la manière "traditionnelle" de le faire.