Je suis Cédric Beau, prof de chinois, auteur de la formation vidéo en ligne Méthode Crampe© pour apprendre le chinois, et grand passionné de la Chine et du Chinois. Je vous souhaite la bienvenue sur mon blog et une bonne lecture!
Le Blog Chine, c’est la Chine, mais c’est aussi un Blog. Un blog fièrement propulsé par WordPress et hébergé chez Alwaysdata (qui sort d’ailleurs aujourd’hui son back-office traduit en Chinois)
Et sur les Blog wordpress qui ont effectué leur mise à jour automatique (ou non automatique d’ailleurs), on observe une erreur sur la planification des articles. En effet, le « joyeux noel » que je vous avait concocté pour ce 25 décembre est tout simplement passé aux oubliettes de WordPress, me laissant une superbe mention « planification manquée » en orange.
Ni une ni deux, je google, comment remédier à ce problème ? Résultats sur le google français : pas grand chose. Avant de chercher en anglais (que je trouverais d’ailleurs plus tard), je décide de mettre en action mon esprit de bricoleur du Web (je suis dans le genre autodictate autodidacte) et hop, une sauvegarde et l’on s’attaque au problème.
Ce qui déclenche la publication des articles, c’est le cron. Le cron, on peut le déclencher en ouvrant simplement une page Web : http://votresiteblog.com/wp-cron.php . Résultat probant, les articles se publient. La machine fonctionne, pas d’erreur sur le serveur, pas la peine d’aller embêter le super staff d’alwaysdata.
Il y a donc un soucis avec le cron, que peut-il bien se passer ? J’ouvre donc le fichier wp-cron.php, et je remarque lorsque WordPress procède, il fait appel à wp-includes/cron.php . Ouvrons donc cron.php et remarquons le code suivant :
$cron_url = get_option( ‘siteurl’ ) . ‘/wp-cron.php?doing_wp_cron’;
wp_remote_post( $cron_url, array(‘timeout’ => 0.01, ‘blocking’ => false, ‘sslverify’ => apply_filters(‘https_local_ssl_verify’, true)) );
Intéressant, un timeout à 0.01 seconde. Je ne me souvenais pas avoir cela dans les anciennes version de WordPress. Je met donc un timeout à 10 secondes
$cron_url = get_option( ‘siteurl’ ) . ‘/wp-cron.php?doing_wp_cron’;
wp_remote_post( $cron_url, array(‘timeout’ => 10, ‘blocking’ => false, ‘sslverify’ => apply_filters(‘https_local_ssl_verify’, true)) );
Et miracle, ça solutionne mon problème.
Je me disais donc, je vais publier ça sur mon Blog Chine pour en faire profiter tout le monde, et une vérification sur google en angliche, et hop, cette solution a marché pour d’autres. Merveilleux. Voici la solution en Français maintenant.










merci
Salut l’ami et merci pour ce conseil.
J’avais déjà fixé ce bug par le passé mais sans que je sache pourquoi il est revenu (probablement depuis la maj de WordPress).
Chouette blog btw !
Avec un grand plaisir
Bonjour,
merci pour ce tips car je me trouve dans le même cas depuis la mise à jour 2.9, j’ai essayé la maj 2.9.1 mais rien n’y fait :/
cependant en suivant les instructions , en ouvrant le ficher cron.php je n’ai pas le même code :
$local_time ) die(); foreach ($crons as $timestamp => $cronhooks) { if ( $timestamp > $local_time ) break; foreach ($cronhooks as $hook => $keys) { foreach ($keys as $k => $v) { $schedule = $v['schedule']; if ($schedule != false) { $new_args = array($timestamp, $schedule, $hook, $v['args']); call_user_func_array(‘wp_reschedule_event’, $new_args); } wp_unschedule_event($timestamp, $hook, $v['args']); do_action_ref_array($hook, $v['args']); } } } die();
(je n’ai pas de ligne de timeout), si vous avez une idée, ca serait sympa
Si si tu as le même code, recherche bien toutes les occurrences du terme « timeout ». La section de code que tu me done ici est 76 lignes trop bas (hors commentaires).
Cédric
Salut,
tout dabord merci pour ta rapide réponse
concernant mon dernier post , les dernières lignes de code du cron.php (pris dans la racine) c’est bien les seules lignes qui sont dedans!!
, j’ai trouvé un deuxième cron.php dans le repertoire WP-INCLUDES dans celui ci il y a effectivement une tartine et bien un timeout, je vais essayer ce soir afin de vérifier si le pb est résolu, je te tiens au courant , merci !
bon, après plusieurs essais infructueux, ca ne ma pas changé le pb, mais wordpress à tellement de paramètres à prendre en compte que c’est du cas / cas suivant la configuration/paramétrage/hébergement de chaque version ah, merci quand même
Merci bien !
Super merci !
Merci, j’ai enfin put corriger mon bug sur mon blog, mais sauvegarde de ma base, s’envoie automatiquement maintenant