Posted on 22 décembre 2009 in Wordpress | 2 comments

wordpress 2.9 bug

Le nouveau WordPress 2.9 est épatant mais génère des erreurs, les néophytes auront intérêt à attendre la sortie corrigée 2.9.1.

Nouvelle version et déjà quelques bugs rapportés. Quelques points de corrections.

Soucis avec: Publication des articles en différé / Widgets rss / Arrêt fonctions ping et rétroliens (trackback) / Fonction automatique des sauvegardes.

Il existe un patch non officiel (si vous n’avez aucun souci avec la nouvelle version, peut être vaut-il mieux attendre la 2.9.1.  déjà annoncée) : lire WP 2.9: three bugs, and how to fix them.

(merci à Lumière de Lune qui a annoncé cette info)

Il suffit de télécharger le patch  de correction, dézipper, uploader les 3 fichiers dans le dossier wp-includes en écrasant les anciens.

Les Pings et rétroliens ne fonctionnent plus / Erreur dans le calendrier des articles

Soit utiliser le patch mentionné plus haut, soit hardcoder le fichier wp-includes/cron.php (faites une copie de ce fichier avant tout changement). Toucher au core n’est jamais une bonne solution, mais si êtes au pied du mur…

Trouvez cette ligne:

1
2
$cron_url = get_option( ’siteurl’ ) ./wp-cron.php?doing_wp_cron’;
wp_remote_post( $cron_url, array(‘timeout’ =&gt; <strong>0.01</strong>, ‘blocking’ =&gt; false, ’sslverify’ =&gt; apply_filters(‘https_local_ssl_verify’, true)) );
$cron_url = get_option( ’siteurl’ ) . ‘/wp-cron.php?doing_wp_cron’;
wp_remote_post( $cron_url, array(‘timeout’ =&gt; <strong>0.01</strong>, ‘blocking’ =&gt; false, ’sslverify’ =&gt; apply_filters(‘https_local_ssl_verify’, true)) );

et changez la valeur du timeout par :

1
2
$cron_url = get_option( ’siteurl’ ) ./wp-cron.php?doing_wp_cron’;
wp_remote_post( $cron_url, array(‘timeout’ =&gt; <strong>1</strong>, ‘blocking’ =&gt; false, ’sslverify’ =&gt; apply_filters(‘https_local_ssl_verify’, true)) );
$cron_url = get_option( ’siteurl’ ) . ‘/wp-cron.php?doing_wp_cron’;
wp_remote_post( $cron_url, array(‘timeout’ =&gt; <strong>1</strong>, ‘blocking’ =&gt; false, ’sslverify’ =&gt; apply_filters(‘https_local_ssl_verify’, true)) );

Problèmes de traduction avec certains plugins, la 2.9  ne coopère plus avec les traductions maisons.

Attendre 2.9.1 ou la réactivité d’update de votre plugin… ou mettre la main dans le cambouis.

Quelle version MySQL offre votre hébergeur ?

WordPress 2.9 nécessitant une version MySQL 4.1.2 ou plus haute pour bien fonctionner, il serait bon de vérifier dans le cPanel de votre hébergeur ce que votre plan d’hébergement vous offre. S’il est encore en MySQL 4.0, bonjour la galère. Voici un petit tutoriel ici pour passer en MySQL 5.0. au besoin. Consultez d’abord le support de votre hébergeur pour voir s’ils offrent cette option et comment faire, voire tentez une demande d’assumer ce changement. Attention, avant toute opération, sauvegardez tout puis n’oubliez pas de modifier ensuite votre wp-config.php. A noter qu’il vous faudra peut être ensuite changer l’adresse du blog dans la table wp_options de votre base de données.

Message d’erreurs après mise à jour

* Vous n’avez plus accès à votre tableau de bord ou à votre blog ou vous obtenez ERROR: WordPress 2.9 requires MySQL 4.1.2 or higher. Voyez ci-dessus pour la version de MySQL et php 5.

* Si vous ne pouvez plus sauvegarder ou éditer un article en brouillon, assurez-vous que votre  blog soit en php5. Si pas, forcez le. Si cela ne résout rien, appliquez le patch de correction ci-dessus.

* Si pendant ou après mise à jour, vous voyez apparaître un message du genre :

Temporairement inaccessible pour maintenance

Il s’agira de vérifier l’existence d’un fichier .maintenance à la racine de votre blog et l’effacer.

Call to undefined function get_file_data() in /home/xxxx/public_html/wp-admin/includes/plugin.php on line X

Renommer le dossier plugins (temporairement) pour avoir accès à votre tableau de bord.

(source:  What’s New & Problems You Could Face)

* Page blanche : d’abord vous assurer que vous êtes en php5… (toujours!).  Vous assurer également qu’il ne s’agit pas d’un problème classique comme le fait de coller du texte directement de Word (toujours passer par la petite case « insérer du texte », jamais de copié collé direct, sans quoi page blanche sous Explorer notamment). Ensuite, pour repérer le problème (afficher les erreurs php afin de demander de l’aide),  ajoutez dans wp-config.php :

1
2
define(’WP_DEBUG’, true);
@ini_set(”display_errors”, 1);
define(’WP_DEBUG’, true);
@ini_set(”display_errors”, 1);

Plugin Simple Tag erreur

Upadate avril 2010: plus aucune erreur avec Simple Tag pour wp2.9.2

Pour les WordPressiens utilisateurs du plugin Simple Tag, on peut hardcoder le plugin. Ouvrir le fichier simple-tags.php et trouvez cette ligne :

1
if ( strpos($wp_version, '2.7') !== false || strpos($wp_version, '2.8') !== false) {
if ( strpos($wp_version, '2.7') !== false || strpos($wp_version, '2.8') !== false) {

Ajoutez dessous :

1
|| strpos($wp_version, '2.9') !== false
|| strpos($wp_version, '2.9') !== false

Pour obtenir au final :

1
if ( strpos($wp_version, '2.7') !== false || strpos($wp_version, '2.8') !== false || strpos($wp_version, '2.9') !== false  ) {
if ( strpos($wp_version, '2.7') !== false || strpos($wp_version, '2.8') !== false || strpos($wp_version, '2.9') !== false  ) {

Pour ma part, je constate le premier bug sur Lashon : l’édition du présent billet avec image et « enregistrer brouillon » successifs, n’a pas toujours été pris en compte avec perte du travail ou besoin de revenir en arrière. Un truc tout bête pour éviter ce désagrément : passez en mode html, sélectionnez tout, copiez puis enregistrez le brouillon ou la mise à jour. Ainsi, si elle n’a pas été prise en compte, vous n’avez qu’à coller vos derniers changements.

Voilà, liste non exhaustive, donc je tenterai d’actualiser ce billet au fur et à mesure des échos de bugs et solutions possibles. N’hésitez pas à faire connaître vos solutions en la matière ou rectifier.