Les nouveautés de WordPress 2.9

La version Bêta de WordPress 2.9, vient de paraître. Vous pouvez la télécharger sur le site WordPress Development Updates. Qu’apportera cette version? Sera-t-elle une évolution significative de la plateforme, ou simplement une version de consolidation?
Je vous propose un petit tour des nouvelles fonctionnalités.

En conclusion de ma présentation de la version 2.8, j’ai essayé d’expliquer quelle pouvait être la stratégie d’évolution de WordPress. L’un des points importants était le concept de All in one, c’est-à-dire de donner la possibilité aux utilisateurs, de tout faire dans WordPress, sans avoir besoin de faire appel à des produits annexes comme un client FTP par exemple.

Cette version 2.9 semble s’inscrire complètement dans cette stratégie, les grandes nouveautés s’adressant avant tout aux utilisateurs:

  • gestion d’une poubelle, permettant de conserver les objets effacés (articles, pages, commentaires …),
  • l’édition des images importées,
  • la gestion des vignettes pour les articles et les pages.

Corbeille (Trash)

Jusqu’à présent les objets effacés étaient irrémédiablement perdus pour l’utilisateur. La version 2.9 « déplace » les objets effacés dans une corbeille, ce qui permet de les récupérer à tout moment. Les objets concernés sont: les articles, les pages, les commentaires, et les médias (pièces jointes).

Les deux copies d’écran suivantes montrent l’effacement d’un article, et le contenu de la corbeille.

Effacement d'un article
Effacement d'un article
Effacement définitif
Effacement définitif

Sous le capot:
Pour les articles, les pages, et les pièces jointes, le champ post_status de la table wp_posts accepte une nouvelle valeur: Trash (en plus de draft, pending, publish, et future).

Pour les commentaires, la modification est un peu plus importante: la version 2.9 dispose d’une nouvelle table wp_commentmeta. Lorsque l’on efface un commentaire, deux lignes sont ajoutées à cette table, pour mémoriser l’effacement du commentaire, ainsi que la date de l’opération.

Il sera possible de fixer la durée de vie des objets dans la corbeille. Pour l’instant, il faut ajouter la ligne

define( 'EMPTY_TRASH_DAYS', 5 );

au fichier wp-config.php, mais il serait intéressant de pouvoir fixer cette durée directement depuis l’une des pages d’option.

Edition des images

L’autre nouveauté importante de cette future version, est la possibilité d’éditer les images que l’on souhaite insérer dans nos articles. Personnellement, je n’étais pas spécialement emballé par l’annonce de cette fonction. Après utilisation, mon avis est plus nuancé: les outils d’édition mis à disposition se résument au crop, rotation, inversion, redimensionnement. Ces fonctions s’inscrivent parfaitement dans le processus d’édition, en permettant de petites retouches aux images pour qu’elles s’intègrent sans problème dans nos articles.

Nouveau bouton
Nouveau bouton
L'écran de l'éditeur
L'écran de l'éditeur
Changement de taille
Changement de taille

Gestion des vignettes (thumbnails)

La gestion des vignettes est un sujet récurrent, et assez sensible. Réalisée manuellement, ou par l’intermédiaire d’un plugin, je n’ai trouvé personne qui en soit réellement satisfait.

WordPress 2.9 ajoute une nouvelle option au gestionnaire de média Use as thumbnail. L’intégration des vignettes à WordPress consistue un réel avantage:

  • d’un point de vue utilisateur: la gestion des vignettes est intégrée à l’éditeur d’article, et le chargement des vignettes suit le même processus que les images habituelles,
  • d’un de vue développeur: un intégration simplifiée dans les thèmes. Plus besoin de prévoir des requêtes aux champs personnalisés, ou de vérifier la présence d’un tel ou tel plugin.

Concrètement, cette fonctionnalité se traduit par l’ajout de quelques lignes dans l’interface, et la mise à disposition d’une nouvelle template tag.

Nouvelle option dans la fenêtre Media
Nouvelle option dans la fenêtre Media
Option supplémentaire dans l'écran d'édition
Option supplémentaire dans l'écran d'édition

Sous le capot:
Désigner une image comme vignette d’un article déclenche, dans la base, l’ajout d’une meta_key thumbnail_id supplémentaire dans la table wp_postmeta.

Quelle conséquence a l’arrivée de cette nouvelle fonction sur les pièces jointes?
L’image désignée comme vignette, reste une image. Elle est récupérée comme une image par les fonctions comme get_children, et affichée par le shortcode gallery.

A noter d’ailleurs, que ce shortcode s’enrichit de deux nouveaux paramètres: include et exclude, qui permettent de sélectionner les images à afficher.

Je plains les auteurs de plugins qui surchargent ce shortcode, car il évolue quasiment à chaque version de WP.

Autres nouveautés

Les autres points sont moins visibles. Trois axes de travail

  • Allègement de la plateforme,
  • Ajout de fonctions pour faciliter la gestion des nouveautés de la 2.8 et 2.9,
  • Correction / Consolidation / Mise à jour de l’existant

L’allègement de la plateforme consiste principalement à supprimer de gros morceaux de codes non utilisés.

Certaines modifications sont potentiellement assez « dangereuses » pour les développeurs de plugin. Par exemple, la fonction get_children() renvoie désormais un tableau vide au lieu de FALSE lorsqu’il n’y a pas de pièces jointes!

Beaucoup de modifications s’adressent aux développeurs de thèmes:

  • La possibilité de créer des templates tags pour les catégories, en utilisant le slug (category-{slug}.php).Précédemment seul l’ID était autorisé. Même chose pour les templates liées aux tags.
  • Ajout d’un filtre excerpt_more pour personnaliser l’affichage de l’excerpt,
  • Amélioration des fonctions gérant les nuages de tags,
  • Ajout de filtres pour la gestion des commentaires
  • Ajout d’attributs et de styles pour les liens « articles suivants / articles précédents »

Conclusion

Cette version 2.9 s’annonce plutôt bien, car elle propose des fonctionnalités intéressantes: les trois grandes nouveautés constituent une vrai avancée pour les utilisateurs. Les autres modifications ne sont pas négligeables non plus, puisqu’elles facilitent le développement de thèmes.

De mon côté, cette version 2.9 va me donner un peu de travail: au moins deux de mes plugins peuvent être impactés par les nouvelles fonctions qui arrivent. Il va donc falloir les tester et/ou modifier pour être prêt lors de la sortie.