WordPress 3.1WordPress 3.1 Reinhardt, tel est le nom de la nouvelle version tant attendue du célèbre CMS. Avec quelques mois de retard, les développeurs nous dévoilent la nouvelle mouture de leur outil.

Après quelques tests et analyses, je peux l’affirmer : c’est l’une des meilleures mises à jour que WordPress ait connu, et aussi l’une des plus grosses (comme la longueur de cet article…).

WordPress 3.1 Reinhardt est une mise à jour conséquente avec 7 fonctionnalités importantes qui sortent du lot, et avec l’ajout et la correction de plus de 800 éléments différents. Presque tous les fichiers inhérents au CMS ont ainsi été modifiés.

Voyons donc ensemble ce que cela nous apporte :

WordPress 3.1 : nouveautés

Le maillage interne

Première nouveauté : l’intégration des liens internes quand vous rédigez un article. Auparavant, un clic sur le bouton ajout de lien vous ouvrait une simple fenêtre avec l’URL, le comportement du lien (ouverture dans la fenêtre ou une nouvelle fenêtre) et le titre.

Insérer un lien sous WordPress
Insérer un lien sous WordPress 3

Il fallait donc aller chercher manuellement l’URL de ses articles si l’on voulait faire un lien interne. Désormais, une ligne permet d’accéder aux autres contenus de son site avec la liste des dernières publications et un formulaire de recherche en Ajax pour chercher un article en particulier. C’est simple et efficace. De plus, le menu déroulant pour le comportement du lien se transforme en un simple bouton plus compréhensible.

WordPress 3.1 insertion d'un lien
WordPress 3.1 : l’insertion d’un lien

Les formats d’articles de WordPress

L’équipe de WordPress avait déjà implanté les taxonomies et les custom post type pour créer de nouveaux types de contenus (autre que les articles, pages, liens et médias) ou pour les classer différemment (autre que via une catégorie ou un tag). Désormais, on a également le droit aux formats d’article via les post-formats.

Quand on publiera un contenu, on peut sélectionner un format pour un affichage spécifique : vidéo, image, galerie, lien, …. De base, la fonctionnalité n’apparaît pas. Il faut d’abord l’activer avec ce code à placer dans le fichier functions.php de votre thème:

add_theme_support( 'post-formats', array( 'image', 'aside', 'quote' ) );

Les valeurs possibles sont :

  • Default
  • Aside (notes de bas de page, mal traduit en français par « En passant »)
  • Chat (transcription de tchat)
  • Gallery (galerie)
  • Link (lien)
  • Quote (citation)
  • Status (statut)
  • Video
  • Image

Pour les notes de bas de page de WordPress 3.1, je vous conseille l’excellent (et le seul) article sur la question : Adding Asides.

Une fois ce code mis en place, vous aurez ensuite accès au menu déroulant des formats d’articles comme ici:

Post-format de WordPress 3.1
Le post-format de WordPress 3.1

Pour terminer, il faudra modifier votre thème pour changer l’affichage de vos articles en fonction du format choisi. C’est donc une fonctionnalité réservée aux développeurs. Voici un exemple d’implantation du code:

<?php if ( has_post_format('quote')) { ?>
    Affichage de vos citations
<?php } else { ?>
    Affichage des autres formats
<?php } ?>

Centralisation de WordPress multi-site

WordPress gère de manière native le multi-site : c’est à dire une administration commune pour gérer un nombre multiple de blogs. La plupart des menus du multi-site étaient éclatés en plusieurs endroits.

Les développeurs font donc un net progrès en regroupant tout dans le même dossier, avec tableau de bord et modules relatifs.

L’administration de WordPress

La première mise à jour de l’administration est mineure, mais est vraiment pratique pour les blogs ayant beaucoup de contenus. Lorsqu’on listait des contenus dans les articles, les pages ou encore les extensions, la navigation était laborieuse avec uniquement les deux pages suivantes et précédente, la 1ère et dernière page ainsi que des boutons suivants/précédent. WordPress 3.1 intègre désormais un champ texte pour renseigner directement le numéro de page désiré.

Pagination des contenus dans WordPress 3.1
La pagination des contenus

Le second point est beaucoup plus intéressant : l’administration de WordPress intègre un tri dynamique des colonnes. On peut donc trier les listings de pages, d’articles, de liens ou encore de médias selon les colonnes disponibles (trier par nombre de commentaire, par date ou par auteur).

Tri des colonnes dans WordPress 3.1
Une colonne triée par date dans WordPress 3.1

Cela évite donc de mettre en place mon hack sur le tri des colonnes de WordPress. Mais la nouvelle fonctionnalité a un défaut majeur : certaines colonnes ne peuvent pas être triées (comme la colonne catégorie ou la colonne mots clés), tout comme pour les colonnes personnalisées ajoutée par le thème ou par des plugins.

La page d’édition par défaut

Sur presque toutes les pages de WordPress, on peut désactiver les blocs qui apparaissent via le bouton « Options de l’écran » situé en haut à droite:

Option de l'écran

Le problème, c’est que peu de personnes connaissent l’existence de cette option. En conséquence, certaines pages se surchargent de blocs, notamment avec certains plugins. Dans WordPress 3.1, les développeurs ont donc choisi de désactiver par défaut certains éléments pour épurer le contenu :

  • Les champs personnalisés
  • L’extrait
  • L’identifiant
  • Les rétroliens

Vous pouvez bien entendu utiliser le bouton dont je viens de parler pour refaire apparaître ces éléments (notamment l’extrait pour pouvoir personnaliser le contenu de votre flux RSS).

Les commentaires

WordPress 3.1 améliore la gestion des emails de notifications des commentaires. Désormais, le CMS inclut un lien direct au commentaire dont il est question, plutôt que de vous renvoyer au début de la liste des commentaires. C’est tout bête, mais pratique aussi.

Dans le même temps, le CMS met en place de nouveaux rôles pour les différents types de comptes. Avant, un membre ayant un droit d’édition des articles pouvait également éditer les commentaires. C’est désormais un rôle distinct, ce qui permet d’affiner la gestion de ses utilisateurs.

La barre d’administration

Une nouveauté marquante est l’ajout sur votre site de ce qu’on appelle la barre d’administration, avec un accès direct aux principales fonctions d’administration d’un blog:

  • Accès au tableau de bord.
  • Accès à votre profil.
  • Ajout d’un article ou d’une page.
  • Accès au gestionnaire des menus et des widgets.
  • Un accès aux mises à jour à réaliser
Barre d'administration de WordPress 3.1
La nouvelle barre d’administration

Elle apparaît par défaut sur le blog, mais peut aussi être affichée dans l’administration. Pour désactiver cette barre, il existe deux solutions :

  • Dans Utilisateurs => Profil => Votre profil
Profil WordPress
Une option sur la barre d’administration dans le profil WordPress
  • Via un code à ajouter dans le fichier functions.php de votre thème
remove_action( 'wp_footer', 'wp_admin_bar_render', 10 );

La seconde solution est la plus simple et efficace car elle supprime totalement la fonctionnalité, et pour tous les utilisateurs d’un seul coup.

C’est d’ailleurs une des nouveautés qui fait débat, puisque certains jugent cette fonctionnalité inutile et dangereuse (parfois au sein même des développeurs de la version 3.1 de WordPress), tandis que d’autres estiment qu’il s’agit d’un élément pratique et rapide pour la gestion d’un blog. A chacun de se faire son opinion.

Les autres modifications de WordPress 3.1

Les ajouts ne s’arrêtent pas à ces « grandes » fonctionnalités. Quand on creuse un peu, on se rend compte que la version 3.1 apporte énormément d’éléments pour les utilisateurs, les administrateurs ou encore les développeurs : c’est un vrai régal !

Mise à jour du coeur

Certains éléments et plugins permettant le bon fonctionnement de WordPress ont été mis à jour, avec des versions plus récentes :

  • Librairie XML-RPC Incutio 1.74
  • Jquery  1.4.4
  • Jquery UI 1.8.9
  • TinyMCE 3.3
  • TinyMCE Spellchecker 2.0.3

Phpdocs a été également mis à jour pour contenir de nouvelles informations comme @since, whitespace ou encore post_types et register_post_type (la liste est trop longue pour être détaillée ici).

Thèmes et Apparence de WordPress 3.1

Au niveau de l’aspect graphique, quelques nouveautés font leur apparition:

  • Amélioration de la recherche des thèmes dans l’administration.
  • Ajout d’un deuxième bouton sauvegarder (en bas de page) dans l’onglet de création des menus.
  • Amélioration des tâches récurrentes (CRON) liées aux thèmes, notamment pour la vérification des mises à jour de ceux-ci.

TwentyTen, le thème par défaut de WordPress 3.1 change aussi :

  • Correction d’un bug de positionnement du header sous Internet Explorer 9 et d’un bug au niveau des polices d’écriture sous Internet Explorer 6.
  • Dans WordPress 3.1, le thème vérifie désormais si l’article a une image mise en favori avant de chercher à l’afficher dans le bandeau du haut de page.
  • Amélioration de la gestion des images, notamment au niveau des galeries d’image.
  • Création d’un Get_Template_Part dans les articles, les pages et les pages médias (attachment.php), ce qui permet aux thèmes enfants de prendre l’ascendant sur le thème parent va un loop personnalisé du type:
    • loop-single.php
    • loop-page.php
    • loop-attachment.php

L’installation du CMS

La mise en place d’un blog WordPress est légèrement améliorée :

  • le message d’erreur lorsque l’utilisateur ne dispose pas des droits suffisants pour l’accès à la base de données a été mis à jour, et donne maintenant la possibilité de réessayer.
  • Le contenu de la page par défaut « A propos » a été amélioré.
  • Les hooks d’activation sont mises en attente lors de la mise à jour d’un blog WordPress (ce qui pouvait auparavant faire planter l’upgrade).

Publication à distance avec XML-RPC

Plusieurs mise à jour ont eu lieu, permettant une meilleure intégration de WordPress avec les systèmes de publication à distance Movable Type, MetaWeblog et Blogger XML-RPC :

  • Nouvelle méthode wp.getPostFormats pour gérer les customs post type.
  • Nouvelle méthode wp.getMediaItem et wp.getMediaLibrary pour la gestion de vos médias.
  • Nouvelle méthode pour récupérer et mettre à jour les articles récents : blogger.getRecentPosts, metaWeblog.getRecentPosts et mt.getRecentPostTitles.

Connexion et mots de passe

Là aussi, quelques nouveautés pour WordPress :

  • Amélioration de la procédure de récupération du mot de passe (un seul email au lieu de deux, et on donne la possibilité à l’utilisateur de modifier directement le mot de passe généré).
  • Le bloc « Sécurité du mot de passe » n’est affiché que si JavaScript est activé.
  • Le code utilisé dans les pages de login a été nettoyé, et on y a ajouté des hooks pour que les développeurs puissent modifier cette page plus facilement :
    • Une nouvelle action login_footer.
    • Un nouveau hook pour modifier le chargement des scripts du login_header et du login_footer.

Développer des thèmes et plugins pour WordPress 3.1

Cette partie là est celle qui m’a vraiment mis de bonne humeur. La version 3.1 du CMS pense fortement aux développeurs de thèmes et de plugins. La liste complète est bien plus longue, mais voilà ce qui a retenu mon attention :

  • Autorisations supplémentaires données aux plugins pour ajouter plus facilement des champs personnalisés liés aux statuts des commentaires.
  • Lorsque WP_Debug est configurée sur True, cela affiche en plus les erreurs de connections SQL, qui sont terminées si le blog ne parvient pas à établir la connexion.
  • Ajout de _doing_it_wrong pour afficher à quels endroits des plugins et ou des thèmes ne fonctionnent pas correctement (mais je ne suis pas sûr de comprendre s’il s’agit d’une classe ou d’une fonction).
  • Amélioration de la fonction wp_list_authors() avec l’ajout du tri par ordre alphabétique ou par nombre.
  • Ajout d’une fonction remove_theme_support(), pour désactiver des fonctionnalités de thèmes qui seraient activées par d’autres éléments.
  • Ajout d’une fonction set_post_thumbnail() pour forcer une image à devenir l’image à la une de l’article.
  • Ajout d’une fonction get_ancestors() pour récupérer la liste des parents d’un ID en particulier (comme les catégories parentes d’une autres catégorie par exemple).
  • Ajout d’une fonction unregister_nav_menu() pour désactiver un menu.

Custom post type et Taxonomies

WordPress 3.1 continue de mettre en avant ces fonctionnalités. La nouvelle version permet ainsi:

  • Pour les Custom Post Type :
    • Ajout d’un nouveau template archive-{post_type}.php pour les custom Post Types.
    • Intégration de ces types de contenus dans la fonction wp_list_pages.
    • Amélioration de la variable _wp_old_slug pour pouvoir rediriger correctement les anciennes adresses des contenus vers des custom post types.
    • Ajout des fonctions get_post_type_archive_feed_link(), get_post_type_archive_link() et post_type_archive_title() pour la gestion des archives.
  • Pour les taxonomies :
    • La fonction wp_tag_cloud() accepte désormais l’ajout de taxonomies.
    • Les classes CSS du body peuvent désormais inclure les termes.
    • Il est enfin possible de faire sa propre Query sur de multiples taxonomies à la fois.
    • Ajout d’un champ menu_name (pour intégrer une taxonomie dans un menu de WordPress 3.1).
    • Ajout de la fonction has_term() pour vérifier si le contenu possède un terme spécifique.
    • Les taxonomies peuvent désormais être au format « hierarchical » (donc avec des urls du type /base/taxonomie-mère/taxonomie-enfant).
    • Ajout de la fonction single_term_title() pour afficher le nom de la taxonomie.

WordPress 3.1 Multi-site

Depuis la version 3, WordPress et WordPress MU ne font plus qu’un. La version 3.1 inclut donc les mises à jour pour ceux et celles qui font appel à la fonction multi-site

  • Dans le menu d’administration du réseau:
    • Ajout d’un menu d’aide contextuel.
    • Ajout de la notification des mises à jour en attente (plugins).
  • Ajout de la barre d’administration pour le multi-site.
  • Amélioration de la gestion des langues et des thèmes.
  • Déplacements de certains menus de l’administration pour plus de clarté.
  • Ajout d’un menu spécifiques pour récupérer en un seul endroit les informations de profils, les préférences ou encore les statistiques sur un utilisateur.
  • Mise en place d’un menu par onglet pour l’interface d’édition des sites.

Les améliorations diverses

Comme je l’ai dit, la version 3.1 de WordPress modifie, corrige ou ajoute plus de 800 éléments différents. On notera donc plein de petites amélioration supplémentaires, dont :

  • La désactivation du menu déroulant « Page Statique » quand l’administrateur a sélectionné « Afficher les Derniers Articles » dans le menu « Lecture » (ce qui coule de source…).
  • La possibilité de spécifié le format du flux pour la fonction the_category_rss().
  • Le CMS fait désormais appel aux URLs absolues pour les redirections automatiques.
  • Les couleurs de l’administration de WordPress 3.1 changent un peu par rapport à la version précédente (du moins pour la version bleue).
Couleur de l'administration WordPress
La nouvelle couleur de l’administration WordPress

L’historique de WordPress

Pour rappel, chaque version du CMS est nommée selon des artistes de Jazz. Et chacune a apporté sa pierre à l’édifice pour en faire l’outil que nous connaissons aujourd’hui.

  • 0.7 (2003 – 1ère version)
  • 1.0 Miles Davis (2004) => Respect des standards xhtml
  • 1.2 Mingus (2004) => Plugin, unicode, import export opml
  • 1.5 Strayhorn (2005) => Gestion des templates
  • 2.0 Duke (2005) =>  Éditeur de texte enrichi
  • 2.1 Ella (2007) => Auto-enregistrement des billets
  • 2.2 Getz (2007) => Performances
  • 2.3 Dexter (2007) => Tags et réorganisation des catégories
  • 2.6 Tyner (2008) => Amélioration de la gestion des contenus
  • 2.7 Coltrane (2008) => Mise à jour de l’administration WordPress
  • 2.9 Carmen (2009)=> Corbeille et retouche d’images
  • 3.0 Thelonius (2010) => Menus, multi-site, types d’articles, nouveau thème par défaut
  • 3.1 Reinhardt (2011) => Barre d’administration, Post Format, Liens internes, Amélioration des Taxonomies, Custom Post Type et Multi-Site

Télécharger WordPress 3.1

Maintenant que vous savez tout sur cette version, voici deux adresse à retenir pour télécharger de WP 3.1:

PS: quand la v3 de SeoMix sortira, les articles aussi long comme celui-ci deviendront beaucoup plus lisibles. ;)