Créer une tache CRON pour son site WordPress

Dans le cadre de l’extension MailPoet Newsletters, nous avons dû mettre en place une tâche CRON d’appel d’URL pour optimiser l’envoi des newsletter.

Pour cela créez un fichier PHP à la racine de votre site web ou dans un dossier précis, on serait tenté d’appeler ce fichier de façon simple, mais dans l’idéal un nom compliqué vous évitera que quelqu’un le découvre facilement et puisse appeler le fichier à votre place.

#!/usr/local/php5.4/bin/php

<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://url-a-appeler");
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_exec($ch);
curl_close($ch);


//Envoi par mail
/*
$to      = 'contact@creazo.fr';
$subject = 'Execution de curl';
$heure = date("H:i");
$message = utf8_decode("Le script ".__FILE__." s'est bien execute à $heure\r\n\r\nVoici le rapport :");
$headers = 'From: contact@creazo.fr' . "\r\n" .
'Reply-To: contact@creazo.fr' . "\r\n" .
'X-Mailer: PHP/' . phpversion();
mail($to, $subject, $message, $headers);
 */

Nous utilisons la méthode "cURL"

cURL (abréviation de Client URL Request Library : « Bibliothèque de requêtes aux URL des clients » ou See URL : « Voir URL ») est une interface en ligne de commande destinée à récupérer le contenu d'une ressource accessible par un réseau informatique. La ressource est désignée à l'aide d'une URL et doit être d'un type supporté par le logiciel. Le logiciel permet de créer ou modifier une ressource (contrairement à wget).

De plus pour test, nous ajoutons l'envoi d'un mail pour vérifier si le script s’est exécuté correctement, à désactiver quand vous en avez la certitude (ou à laisser si vous avez besoin d'une trace de l’exécution du script).

Après intégration du script, nous devons mettre en place son exécution, chez OVH, vous devez aller dans votre manager et trouver le planificateur de tâches :

2015-02-25 14_36_07-Manager OVH

 

Vous n'avez plus qu'a configurer votre tâche :

2015-02-25 15_42_20-Manager OVH

 

Vous devez définir le chemin du script, le langage de celui (en fonction de votre hébergement) et sa périodicité.