WooFrance Dépannage et support WordPress WooCommerce Forums Forum de Support WooCommerce changement d’état de commande sur expiration de statut

Étiqueté : 

  • Ce sujet contient 0 réponse, 1 participant et a été mis à jour pour la dernière fois par BENMER, le il y a 4 années.
Affichage de 1 message (sur 1 au total)
  • Auteur
    Messages
  • #183501
    BENMER
    Participant
    Points: 22 pts
    Membre 2 étoiles

    Bonjour à tous,

    J’ai utilisé WooCommerce pour créer ma boutique de vente d’objet Design, j’ai encore pas mal de travail et aujourd’hui le problème que je rencontre est le suivant :

    Changer automatiquement le statut de la commande si par exemple le client ne m’a pas fait de virement bancaire, ce qui me permettrait de lui renvoyer un mail de relance d’une part et si jamais je n’ai toujours pas de retour de sa part annuler la commande.

    Je crois qu’il est possible de faire une fonction en PHP que j’ajouterais dans function.php mais je ne connais pas trop le type de code que je dois rajouter car je n’ai pas idée des valeurs de statut et champs que je peux récupérer.

    1- Je voudrais passer du statut “En attente” à “En attente de paiement” au bout de 48 heures après la prise de commande

    2- je voudrais passer de “en attente de paiement” à “annuler” au bout d’une semaine par exemple.

    Est-ce que quelqu’un aurait idée du code que je dois placer dans function.php et est-ce que je dois rajouter autre chose pour que ça marche?

    j’ai essayé d’écrire ça mais je sais que c’est faux alors si quelqu’un peut m’aider ça serait super.

    /**
    * automatisation status orders
    */
    function custom_woocommerce_auto_complete_order( $order_id, $status_from, $status_to, $order, $order_date )
    {
    if ($status_from == ‘On hold’ || $status_to == ‘On hold’ && $order_date < (date(‘d-m-y’)-2) ) {
    $order = new WC_Order( $order_id );
    $order->update_status(‘Pending Payment’);
    }

    if ($status_from == ‘Pending Payment’ || $status_to == ‘Pending Payment’ && $order_date < (date(‘d-m-y’)-7) ) {
    $order = new WC_Order( $order_id );
    $order->update_status(‘cancelled’);
    }
    }
    add_action(‘woocommerce_checkout_order_processed’, ‘custom_woocommerce_auto_complete_order’, 10, 3);

     

    depanagewp
Affichage de 1 message (sur 1 au total)
  • Vous devez être connecté pour répondre à ce sujet.