WooFrance Dépannage et support WordPress WooCommerce › Forums › Forum de Support WooCommerce › Emails automatiques H+18 CRON
Étiqueté : Best Prices Comparison
- Ce sujet contient 6 réponses, 4 participants et a été mis à jour pour la dernière fois par Fred – WooFrance, le il y a 7 années et 4 mois.
-
AuteurMessages
-
21 juin 2017 à 15 h 49 min #3778
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.
21 juin 2017 à 21 h 53 min #380923 juin 2017 à 12 h 04 min #382027 juin 2017 à 14 h 37 min #3859Bonjour,
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 !
6 juillet 2017 à 10 h 05 min #3954Si 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/.
6 juillet 2017 à 11 h 41 min #3955Bonjour 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é.";
}
2 users thanked author for this post.
6 juillet 2017 à 12 h 27 min #3958 -
AuteurMessages
- Vous devez être connecté pour répondre à ce sujet.