-
Ok !
Pour me ridiculiser en public, je dois vous avouer que le routage fonctionne parfaitement ! :oops:
Il faut juste penser à activer le debug de Wordpress dans le wp_config et là comme par enchantement on voit que l'on a mal "orthographié" une variable et que l'on a perdu deux jours a réjeter la faute sur la structure de la page.
@mathieu : Mille merci !!!!
-
il y a peut être encore quelque chose à rajouter dans le code qui génère le fichier. contrairement à ce que pourrait faire penser tous les noms en "admin", l'url de création du fichier est accessible publiquement.
il faut donc tester l'autorisation d'accès au début avec par exemple le code if (current_user_can("manage_options")) {.
la permission "manage_options" correspond à la permission de la page que tu as mise dans l'appel de "add_menu_page".
-
Donc si je ne peux pas modifier programmatiquement cette autorisation dans le script, il faudra que je donne des droits admins à l'utilisateur qui devra exporter ? :cry:
-
tu peux mettre une autorisation dynamique si c'est plus pratique pour toi.
mais ce qui est fait habituellement, c'est de créer une nouvelle autorisation par exemple "autorisation_de_modifier_et_exporter_les_types_d_objet_de_travail" et de donner cette autorisation au role administrateur. et si un jour tu as besoin d'un utilisateur qui a seulement besoin de cette autorisation, tu peux créer un nouveau role qui a seulement cette autorisation.
et pour gérer les roles et les permissions, tu peux le faire dans ton code ou avec une extension par exemple :
https://fr.wordpress.org/plugins/user-role-editor/
-
Merci pour ces précisios.
J'ai ajouté un rôle : "CSV2PODS_import_export_user"
Je suis obligé de passer par display_user_roles() pour vérifier si le user à le role ? rien du plus direct ???
-
tu n'as pas besoin de tester le role (et c'est souvent une mauvaise idée). tu peut ajouter des permissions à ce role et ensuite tu testes les permissions avec "current_user_can".
-
J'essaye de commencer par limiter l'extension à mon nouveau rôle, mais je ne sais pas comment n'afficher le menu dans l'admin que si le user à le rôle :(
Ensuite le current_user_can je ne sais pas quoi tester car je ne retourve nulle part le nom de mon rôle :(