Étiqueté : 

7 sujets de 1 à 7 (sur un total de 7)
  • Auteur
    Messages
  • #3778
    Emeline Label
    Participant
    Points: 14 pts

    Bonjour, j’ai un site web qui permet à un utilisateur de passer une commande de “service”.
    Une fois la demande/formulaire reçu(e), l’admin créé un bon de commande dans l’interface d’administration, qui génère une commande auprès du client. Un email lui est envoyé pour qu’il règle sa commande. Jusque là, tout va bien.

    Si le client règle sa commande dans les délais, tout va bien, le processus continue.
    Sinon, si le client ne règle pas dans les J+1 et H+18 (jusqu’à 18h le lendemain), je souhaiterais qu’un email automatique lui soit envoyé (du type “attention, rappel”).

    J’ai pour cela, le plugin Follow-Up Emails pour créer un email personnalisé, mais ce dernier peut s’envoyer soit à J+1, soit à H+18. Dans ces cas ci, pour l’instant cela ne fonctionne pas.

    En gros, si le lendemain à 18h, le statut de la commande n’est pas passé à “En cours”, celui ci peut passer au statut “Rappel – En attente paiement” (statut créé au préalable).

    Auriez-vous une idée de comment faire ceci ?

    Merci à vous.

    depanagewp
    #3809
    Fred – WooFrance
    Maître des clés
    Points: 7,399 pts
    Certifié
    Membre 2 étoiles

    Salut,

    Je ne connait pas ce plugin, toutefois :

    Il serait bon de vérifier si le systeme Cron de wordpress fonctionne bien sur ton site.

    Parfois il faut installer une tache cron sur le serveur.

    … si ça peut t’aider…

    depanagewp
    #3820
    Emeline Label
    Participant
    Points: 14 pts

    Bonjour Fred, merci pour ton retour. Les tâches CRON fonctionnent bien sur le serveur ainsi que sur WordPress. Le but à trouver, serait en fait de paramétrer le changement de statut d’une commande. Puis de mettre cette fonction dans une tâche CRON 🙂

    depanagewp
    #3859
    Guy
    Participant
    Points: 5,489 pts
    ModérateurCertifiéFreelance
    Membre 2 étoiles

    Bonjour,

    Je ne connais pas le plugin mais je viens de faire une recherche rapide.

    Je te conseille de vérifier que tu as bien fait toutes les étapes: https://docs.woocommerce.com/document/automated-follow-up-emails-docs/follow-up-email-tutorials/follow-up-email-pending-orders/

    et que l’activation du cron est correcte: https://docs.woocommerce.com/document/automated-follow-up-emails-docs/why-do-my-follow-ups-not-send/

    Une phrase importante There is also a known issue on WordPress sites that get little, or no, traffic on any given day. Follow-up Emails rely on a function called WP-Cron, and this function only runs when there is a page requested. So, if there are no visits to your website, then the scheduled jobs are not run.”

    Solution sur la page indiquée 😉

     

    Content(e) de mon aide ? Vous pouvez m'offrir un café ! 🙂

    Avant d'appeler à l'aide: Dépannage Woocommerce

    Vous manquez de trafic ? Payez le prix d'un seul backlink et obtenez-en beaucoup plus !

    depanagewp
    #3954
    Kebe
    Participant
    Points: 12 pts

    Si vous n’avez aucune expérience de la configuration des tâches cron sur les serveurs, vous pouvez le faire avec mon plugin: https://wordpress.org/plugins/easycron/.

    depanagewp
    #3955
    Emeline Label
    Participant
    Points: 14 pts

    Bonjour et merci pour vos retours. J’ai finalement trouvé la solution et je vous la partage.

    Créer la tâche CRON sur l’hébergeur en appelant le fichier www/wp-cron.php avec un appel tous les jours à 18h.

    Un email automatique étant envoyé directement lorsque le statut de la commande change, il n’y a plus qu’à changer l’état de la commande lorsque une commande date de la veille.

    Voici la fonction que j’ai ajouté dans functions.php :


    /**
    * On an early action hook, check if the hook is scheduled - if not, schedule it.
    */
    add_action( 'wp', 'prefix_setup_schedule' );
    function prefix_setup_schedule() {
    if ( ! wp_next_scheduled( 'prefix_daily_event' ) ) {
    wp_schedule_event( time('18:00:00'), 'daily', 'prefix_daily_event');
    }
    /**
    * On the scheduled action hook, run a function.
    */
    add_action( 'prefix_daily_event', 'prefix_do_this_daily' );
    function prefix_do_this_daily() {
    require_once( 'wp-load.php' );
    global $table_prefix, $wpdb;
    // Interrogation de la base de données
    $resultats = $wpdb->get_results("SELECT * FROM ppv_posts WHERE post_status = 'wc-pending' AND post_date > CURRENT_DATE - INTERVAL 1 DAY AND post_date < CURRENT_DATE") ; foreach ($resultats as $post) { $order_id = $post->ID;
    echo "Les commandes en attente de paiement qui vont passer au statut en rappel :";
    echo $order_id."\n";
    $order = new WC_Order( $order_id );
    $order->update_status('wc-rappel-paiement');
    }
    echo "Il n'y a aucune commande en attente de paiement actuellement, ou alors un email de rappel a été envoyé.";
    }

    depanagewp
    2 utilisateurs ont remercié l'auteur de ce message.
    #3958
    Fred – WooFrance
    Maître des clés
    Points: 7,399 pts
    Certifié
    Membre 2 étoiles

    Merci pour cette astuce 🙂

    depanagewp
7 sujets de 1 à 7 (sur un total de 7)
  • Vous devez être connecté pour répondre à ce sujet.