2 votes

WooCommerce 3+ WC_Order dans le backend

J'ai un problème avec une fonction dans Woocommerce 3.X. Je (pense) comprendre que c'est parce que WC_Order ne peut plus être accédé directement mais je ne suis pas sûr de savoir comment le corriger dans la fonction (que je n'ai pas écrite).

//Admin JS
    add_action('admin_enqueue_scripts', 'admin_hooks');
    function admin_hooks( $hook ) {

        global $woocommerce, $post;
        $order = new WC_Order($post->ID);
        //to escape # from order id
        $order_id = trim(str_replace('#', '', $order->get_order_number()));
        $user_id = $order->user_id;
        $user_info = get_userdata($user_id);

        wp_enqueue_script( 'admin-hooks', get_template_directory_uri(). '/js/admin.hook.js' );
        wp_localize_script( 'admin-hooks', 'myTest', $user_info->roles );
    }

J'ai essayé de changer $order = new WC_Order($post->ID); a $order = new wc_get_order( $order_id ); sans succès, ce qui est logique. Je vois que j'essaie d'obtenir l'identifiant de l'article et non celui de la commande, mais je ne sais pas comment faire. Comme vous pouvez le voir, je suis en train de me familiariser avec le code, alors allez-y doucement. J'ai vu ce poste mais je n'ai pas pu trouver comment l'implémenter dans mon code, toute contribution est appréciée.

Pour vous donner un bref aperçu de ce que fait cette fonction, elle affiche le rôle de l'utilisateur connecté sur la page de commande de l'administrateur.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X