Bonjour à tous,

je suis en train de m’entraîner dans l'élaboration de plugin WordPress et j'ai un petit soucis quand je veux éditer les droits d'un utilisateur (en passant par mon plugin).

(Expliquation du plugin:
1- Liste des utilisateurs
2- une fois l'utilisateur selectionné, affichage des groupes disponibles + selection auto de son groupe,
3- résultat final: Edition du rôle existant):
Le code:

<?php
defined( 'ABSPATH' ) or die( 'No script kiddies please!' );
/*
Plugin Name: reverantthune
Plugin URI: test
Description: Plugin de droits développé par Nhos
Version: 0.1
Author: reverantthune
Author URI: test
License: GPL2
*/
class Nhos_Plugin
{
    public function __construct()
    {
        include_once plugin_dir_path(__FILE__).'/gestion_droit.php';
        add_action('admin_menu', array($this, 'add_admin_menu'));

        new Gestion_droit();
    }

    public function add_admin_menu()
    {
        // add_menu_page($titre, $libellé du menu, $intitulé des droits, $clé d'identifiant, array($this, $fonction à appeler pour le rendu))
        add_menu_page('Gestion des droits (Nhos)', 'Gestion des droits (Nhos)', 'manage_options', 'nhos',  array($this, 'menu_html'));
    }

    public function menu_html()
    {
        /*
        echo '<h1>'.get_admin_page_title().'</h1>';
        echo '<p>Bienvenue sur la page d\'accueil du plugin</p>';
        */
        if(!isset($_POST['user_edit_nhos']))
        {
            $users = get_users();
            echo '<h1>'.get_admin_page_title().'</h1>';
            echo '<p>Selectionner l\'utilisateur</p>';
            echo '<form action="#" method="POST">';
            echo '<select name="user_edit_nhos">';
            foreach ($users as $user)
            {
                echo '<option value="'.$user->ID.'">'.$user->display_name.'</option>';
            }
            submit_button();
            echo '</select>';
            echo '</form>';
        }
        else
        {

            $user = get_users(array('search' => intval($_POST['user_edit_nhos'])));
            $profileuser = get_user_to_edit(intval($_POST['user_edit_nhos']));
            echo '<h1>Edit: '.$user[0]->display_name.'</h1>';
            echo '<form method="POST" action="user-edit.php">';
            ?>
            <tr class="user-role-wrap"><th><label for="role"><?php _e('Role') ?></label></th>
            <td><select name="role" id="role">
            <?php
            // Compare user role against currently editable roles
            $user_roles = array_intersect( array_values( $profileuser->roles ), array_keys( get_editable_roles() ) );
            $user_role  = reset( $user_roles );

            // print the full list of roles with the primary one selected.
            wp_dropdown_roles($user[0]->roles[0]);

            // print the 'no role' option. Make it selected if the user has no role yet.
            if ( $user_role )
                echo '<option value="">' . __('&mdash; No role for this site &mdash;') . '</option>';
            else
                echo '<option  value="" selected="selected">' . __('&mdash; No role for this site &mdash;') . '</option>';

            echo '</select></td></tr>';
            echo '<br/>';
            echo '<input type="hidden" name="action" value="update" />';
            echo '<input type="hidden" name="user_id" id="user_id" value="'.$user[0]->ID.'" />';
            submit_button();
            echo '</form>';
        }
    }
}
new  Nhos_Plugin(); ?>

l'ennui c'est quand je veux envoyer mon formulaire pour éditer le groupe de l'utilisateur (genre de administrateur à abonné). Je suis redirigé sur page marqué : "Vous voulez vraiment faire celà?"

https://cdn.discordapp.com/attachments/278156270039728129/278156666078494723/unknown.png

Quelqu'un saurait me dire ce qu'il me manque pour terminer mon premier plugin? :D

Merci d'avance !

Aucune réponse