recherche

Maison  >  Questions et réponses  >  le corps du texte

"Ajout de boutons personnalisés pour réduire l'inventaire : ajout d'une nouvelle fonctionnalité aux commandes administratives Woocommerce"

Besoin d'aide pour mettre à jour mon inventaire de produits sur la page de gestion des commandes de WooCommerce. J'ai actuellement du code qui fonctionne, mais il supprime l'inventaire du mauvais produit. Quelqu'un sait-il pourquoi?

add_action( 'woocommerce_after_order_itemmeta', 'action_woocommerce_order_item_add_button', 10, 2);

function action_woocommerce_order_item_add_button($item_id, $item)
{
  $product = $item->get_product();
    $id = $item->get_product_id();

        echo '';
    
}

add_action('save_post', 'renew_save_again', 10, 3);
function renew_save_again($post_id, $post, $update){
    $slug = 'shop_order';
    if(is_admin()){
            // If this isn't a 'woocommercer order' post, don't update it.
            if ( $slug != $post->post_type ) {
                    return;
            }

            if(isset($_POST['renew_order_single_product']) && $_POST['renew_order_single_product']){
    
                //removes stock for specified product
                global $woocommerce;
                $quantity = 0;
                $product_id = $_POST['renew_order_single_product'];
                $woocmmerce_instance = new WC_Product($product_id);
                $new_quantity=wc_update_product_stock( $woocmmerce_instance, $quantity);
        
         }
    }
}
P粉029057928P粉029057928470 Il y a quelques jours551

répondre à tous(1)je répondrai

  • P粉724256860

    P粉7242568602023-09-10 00:01:49

    Le problème est que vous avez ajouté un bouton et une zone de saisie après chaque article de commande, vous avez donc plusieurs zones de saisie masquées avec le même nom, il obtient soit la première zone de saisie masquée, soit la dernière, et c'est la mise à jour, vous vous devez changer votre logique et simplement ajouter une zone de saisie masquée et modifier la valeur de la zone de saisie masquée en cliquant sur le bouton, puis soumettre le formulaire.

    répondre
    0
  • Annulerrépondre