"Ajout de boutons personnalisés pour réduire l'inventaire : ajout d'une nouvelle fonctionnalité aux commandes administratives Woocommerce"
P粉029057928
P粉029057928 2023-09-09 11:58:57
0
1
548

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粉029057928
P粉029057928

répondre à tous(1)
P粉724256860

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.

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal