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 11 mois.
-
AuteurMessages
-
21 juin 2017 à 21 h 53 min #380923 juin 2017 à 12 h 04 min #382027 juin 2017 à 14 h 37 min #3859
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
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.