WordPress 2.7 dont la sortie est prévue pour le 10 Novembre 2008, devrait amener des changement plutôt importants, surtout en ce qui concerne les commentaires. Les auteurs de WordPress s’attaquent enfin à ce domaine qui a trop longtemps été délaissé depuis un certain nombre de versions.

Les nouveautés

Les commentaires voient arriver deux fonctionnalités importantes : « Threaded Comments« , c’est-à-dire des commentaires imbriqués comme sur Digg, et la pagination des commentaires.

Les commentaires imbriqués sur Digg.

Les commentaires imbriqués sur Digg.

Il y a également pas mal de mouvement du côté de l’interface d’administration, qui se voit reliftée pour l’occasion. Cette refonte graphique a été faite à partir d’ébauches : les WireFrames que je vous invite à consulter et de différents sondages soumis à la communauté, vous y avez d’ailleurs peut-être répondu.

WordPress 2.7 Wireframes

WordPress 2.7 Wireframes

Voici à quoi devrait ressembler le design final de la version 2.7 de WordPress :

Le design final de WordPress 2.7 - Menu Nouvel Article

Le design final de WordPress 2.7 - Menu Nouvel Article

Le design final de WordPress 2.7 - Le Tableau de bord (DashBoard)

Le design final de WordPress 2.7 - Le Tableau de bord (DashBoard)

La meilleure façon d’observer les changements en cours est sûrement de se connecter au WordPress de démonstration disponible sur cette page. La connexion s’effectue avec le compte « admin » et le mot de passe « demo » :

Le menu d\'administration, avec les rubriques sous forme d'icônes, ici réduites.

Le menu d'administration, avec les rubriques sous forme d'icônes, ici réduites.

Après un clic sur l'icône du haut, le texte des catégories est visible.

Après un clic sur l'icône du haut, le texte des catégories est visible.

Pouvoir cacher le texte des menus sur la barre latérale permet d’avoir un espace de travail maximal. Parfait pour les écrans à la résolution moyenne.

Le Dashboard de WordPress 2.7, avec tous les menus dépliés.

Le Dashboard de WordPress 2.7, avec tous les menus dépliés.

La page des plugins permet de rechercher et d\'installer les plugins directement depuis l'administration de WordPress.

La page des plugins permet de rechercher et d'installer les plugins directement depuis l'administration de WordPress.

Il est également possible d'uploader et d'installer un plugin au format Zip. On peut aussi afficher les plugins les plus populaires.

Il est également possible d'uploader et d'installer un plugin au format Zip. On peut aussi afficher les plugins les plus populaires.

Il est possible de fermer automatiquement les commentaires sur les articles vieux d\'un certain nombre de jours, pour éviter le spam, de grouper les commentaires sous forme de threads en choisissant la profondeur et de paginer les commentaires en choisissant le nombre maximum de commentaires par page.

Il est possible de fermer automatiquement les commentaires sur les articles vieux d'un certain nombre de jours (pour éviter le spam), de grouper les commentaires sous forme de threads en choisissant la profondeur maximum et de paginer les commentaires en choisissant le nombre de commentaires par page.

La section "Media Settings" permet de choisir s\'il on désire lier les media à l\'article ou au fichier lui-même. On peut maintenant choisir une taille maximum pour les images, et le format d\'affichage par défaut : Auto, Thumbnail, Medium, Large ou Full size. L\'par défaut des images est paramétrable.

La section 'Media Settings' permet de choisir s'il on désire lier les media à l'article ou au fichier lui-même. On peut maintenant choisir une taille maximum pour les images, et le format d'affichage par défaut : Auto, Thumbnail, Medium, Large ou Full size. L'alignement par défaut des images est paramétrable.

Edition rapide des paramètres d\'un article

Edition rapide des paramètres d'un article

Il est possible de choisir les éléments à afficher dans tous les menus d\'administration.

Il est possible de choisir les éléments à afficher dans tous les menus d'administration.

En plus de cela, quelques fonctions supplémentaires :

  • Sur la page d’édition d’article et sur le tableau de bord, les boîtes sont déplaçables et peuvent être masquées complètement,
  • Dans l’interface d’administration, des raccourcis claviers permettent la modération des commentaires,
  • Dans l’administration, il est possible de filtrer les colonnes dans la page listant les articles,
  • Possibilité de modifier certains attributs des articles directement depuis cette page,
  • API XMLRPC pour les commentaires (pour pouvoir par exemple modérer les commentaires depuis l’Iphone un jour ?)
  • Réponse aux commentaires depuis l’administration,
  • Raccourcis clavier pour la gestion des commentaires,
  • API pour les commentaires imbriqués et le nouveau wp_list_comments(),
  • API pour la mise à jour des thèmes (comme celle pour la mise à jour des plugins),
  • Sticky Posts pour maintenir un article sur la page d’accueil,
  • Installation automatique des plugins et navigation dans la base des plugins depuis l’administration,
  • Mises à jour automatiques de WordPress,
  • Cookies de type HTTPOnly pour l’authentification,
  • Nouvelle API pour les requêtes HTTP,
  • Suppression de la compression pour TinyMCE afin de permettre la mise en cache du Javascript par le navigateur et par Google Gears (la page d’édition devrait charger plus rapidement),
  • Une nouvelle abstraction d’un système de fichier SSH2 pour effectuer les installations et des mises à jour en SFTP.

Quelques fonctionnalités qui rateront la v2.7

  • L’amélioration de l’interface de la fonction « historique de l’article » affichant les révisions,
  • Des informations de géolocalisation pour les articles, les commentaires, …,
  • Rendre l’uploader (SWFUploader) compatible avec Flash 10,
  • Des améliorations pour le tag « gallery »,
  • La coloration syntaxique CodePress pour les éditeurs de code de l’administration,
  • Un éditeur de menu,
  • L’intégration de sitemaps,
  • Un versionning pour l’édition des templates,

Tout ça pour la version 2.8 ?

Compatibilité des plugins avec WordPress 2.7

Comme d’habitude, il suffit de se rendre sur cette page du Codex WordPress pour vérifier la compatibilité des plugins avec la version 2.7.

WordPress, un BloatWare ?

Voilà qui fait énormément de nouveautés. Certains pensent que des logiciels comme WordPress sont condamnés à devenir des BloatWares avec le temps, à force d’accumuler les fonctionnalités. Il faut de la nouveauté en permanence pour faire parler de soi, n’est-ce pas ?

Certains pensent ainsi que la réécriture plus ou moins complète d’un logiciel doit avoir lieu régulièrement, les objectifs de celui-ci pouvant varier largement au bout de quelques années rendant ses bases inadaptées.

Le cas de WordPress 2.7 est assez impressionnant. En effet, les dotcleariens semblent conserver la philosophie suivante :

Si Dotclear devait répondre à chaque besoin spécifique, il aurait 36000 fonctions et péserait bien plus que son poids actuel. Avec des plugins, on offre le choix aux utilisateurs d’installer et utiliser seulement ce dont ils ont besoin.

WordPress 2.7 intégrera en natif des fonctionnalités qui remplaceront un nombre très important de plugins. Voici quelques exemples que j’ai pu trouver :

Et j’en oublie sûrement…
Que penser de tout cela ? D’un côté c’est une bonne chose, puisque nous n’aurons pas à nous soucier de la compatibilité de ces plugins pour les futures versions de WordPress, d’un autre côté on peut se demander si WordPress ne va pas devenir un peu lourd et si maintenir ces fonctions supplémentaires ne va finalement pas ralentir les futurs développements.

L’avenir nous le dira, mais vous pouvez faire vos pronostics dans les commentaires ;)

Des modifications lourdes pour supporter les nouvelles fonctions

Les modifications pour les commentaires demanderont quelques efforts plus ou moins importants pour les blogueurs. Aussi bien du côté des fichiers du thème que de la feuille de style.

Threaded Comments - Les commentaires imbriqués

Threaded Comments - Les commentaires imbriqués

Pagination des commentaires

Pagination des commentaires

Rassurez-vous, votre thème restera compatible avec la nouvelle version, mais pour profiter des nouvelles fonctions, vous devrez l’adapter. Ce qui suit est un exemple d’adaptation du thème par défaut pour passer de la version 2.6 à la version 2.7. La version actuelle n’étant pas définitive, le code peut encore évoluer.

Attention, la suite peut donner mal aux crâne aux non-codeurs, pensez à prendre un petit café pour tenir ;)

Retrocompatibilité

Tout d’abord, WordPress 2.7 utilise une nouvelle fonction pour les commentaires, qui fait presque tout : « wp_list_comments« , il suffira donc d’utiliser un code de ce type dans « comments.php » pour assurer la retrocompatibilité :

if (function_exists('wp_list_comments')) :
// nouveau code pour comments.php avec wp_list_comments et autre
else :
// ancien code pour la retrocompatibilité
endif;

Protection par mot de passe

Pour gérer la protection par mot de passe des articles, le code en haut du fichier « comments.php » est légèrement modifié :

if (!empty($_SERVER['SCRIPT_FILENAME']) && 'comments.php' == basename($_SERVER['SCRIPT_FILENAME']))
	die ('Please do not load this page directly. Thanks!');
if ( post_password_required() ) {
	echo 'This post is password protected. Enter the password to view comments.';
	return;
}

Boucle des commentaires

Quant à la boucle des commentaires, qui ressemblait à cela :

if ($comments) :
<?php $comment_count = get_comment_count($post->ID); echo $comment_count['approved']; ?> Comments
<ul class="commentlist">
<?php foreach( $comments as $comment ) :
// stuff to display the comment in an LI here
endforeach;
?></ul>
<?php else :
if ('open' == $post->comment_status) :
	// If comments are open, but there are no comments.
else :
	// comments are closed
endif;
endif;

Elle intègre désormais la fonction « wp_list_comments » comme ceci :

if ( have_comments() ) : ?>
<h4 id="comments"><?php comments_number('No Comments', 'One Comment', '% Comments' );?></h4>
<ul class="commentlist">
	<?php wp_list_comments(); ?></ul>
<div class="navigation">
<div class="alignleft"><?php previous_comments_link() ?></div>
<div class="alignright"><?php next_comments_link() ?></div>
</div>
<?php else : // this is displayed if there are no comments so far ?>
	<?php if ('open' == $post->comment_status) :
		// If comments are open, but there are no comments.
	else : // comments are closed
	endif;
endif;

On voit ici que:

  • « have_comments » remplace le « if ($comments)« ,
  • « wp_list_comments » remplace la boucle foreach et affiche tous les commentaires en y ajoutant les nouvelles fonctions de commentaires imbriqués ainsi que les classes nécessaires pour la feuille de style,
  • Une section de navigation est ajoutée pour les commentaires (comme celle qui existait pour les articles).

Pour que les commentaires imbriqués fonctionnent correctement, il faut également ajouter le code suivant dans le formulaire de commentaires :

<?php comment_parent_field(); ?>

Javascript dans les commentaires

Pour activer les effets Javascript dans les commentaires, il est nécessaire d’ajouter une ligne dans le fichier « header.php » juste avant l’appel à « wp_head() » :

if ( is_singular() ) wp_enqueue_script( 'comment-reply' );

Contraintes supplémentaires

Pour faire fonctionner l’ensemble, il faut également respecter certaines contraintes, notamment quant au nommage des attributs « id« .

  • Le champ « textarea » du formulaire de commentaires devra avoir un id=”comment”,
  • Le formulaire de commentaire devra être encadré par un DIV avec un id=”respond” (au lieu de <a id= »respond »></a> sur certains thèmes)
  • Remplacer « Laisser un commentaire » ou « Leave a Comment » par :
    <?php comment_form_title( 'Laisser un commentaire', 'Laisser un commentaire à %s' ); ?>
  • Pour permettre d’annuler l’ajout d’un commentaire, il faut ajouter un lien de type « cancel ». Dans votre thème juste sous le « comment_form_title« , ajoutez le code :
    <div id="cancel-comment-reply">
    	<small><?php cancel_comment_reply_link() ?></small>
    </div>

Style

Voilà pour la partie purement technique, ouf! Mais maintenant, il va falloir mettre tout ça en forme! Le nouveau code encadre chaque commentaire dans des balises « <li> » et y ajoute les classes suivantes :

  • Les classes « comment« , « trackback » et « pingback » sont ajoutées en fonction du type de commentaires,
  • « byuser » est ajouté si le commentaire appartient à un utilisateur enregistré,
  • « comment-author-authorname » est ajouté pour des utilisateurs enregistrés spécifiques,
  • « bypostauthor » est ajouté si le commentaire appartient à l’auteur de l’article,
  • « odd » et « even » sont ajoutés pour les commentaires paires et impaires,
  • « alt » est ajouté pour tous les autres commentaires,
  • « thread-odd« , « thread-even« , et « thread-alt » fonctionnent comme odd/even/alt classes, mais sont appliqués uniquement aux commentaires de plus haut-niveau dans l’imbrication des commentaires (donc pas aux replys),
  • « depth-X » est appliqué au niveau X de commentaires (commentaires imbriqués).

Séparation des Trackbacks et des commentaires

Il existait plusieurs techniques pour pouvoir séparer les commentaires et les trackbacks jusqu’à WordPress 2.6.
La version 2.7 introduit quelques nouvelles fonctions qui peuvent faciliter ces modifications dans le thème.

Tout d’abord, partons de la nouvelle boucle des commentaires qui doit ressembler à ça :

<?php if ( have_comments() ) : ?>
	<h3 id="comments"><?php comments_number('No Responses', 'One Response', '% Responses' );?> to &#8220;<?php the_title(); ?>&#8220;</h3>
 
	<ol class="commentlist">
	<?php wp_list_comments(); ?>
	</ol>
	<div class="navigation">
		<div class="alignleft"><?php previous_comments_link() ?></div>
		<div class="alignright"><?php next_comments_link() ?></div>
	</div>
<?php else : // this is displayed if there are no comments so far ?>
 
	<?php if ('open' == $post->comment_status) : ?>
		<!-- If comments are open, but there are no comments. -->
 
	<?php else : // comments are closed ?>
		<!-- If comments are closed. -->
		<p class="nocomments">Comments are closed.</p>
 
	<?php endif; ?>
<?php endif; ?>

La première modification à faire se situe dans le fichier « single.php », où vous devrez remplacer cette ligne:

<?php comments_template(); ?>

Par celle-ci :

<?php comments_template('', true); ?>

Cette fonction « comments_template » permet de créer une variable globale « $comments_by_type » qui sera utilisée par la suite.

Il faut ensuite modifier « comments.php » pour qu’il ressemble à ça :

<?php if ( have_comments() ) : ?>
	<?php if ( ! empty($comments_by_type['comment']) ) : ?>
	<h3 id="comments"><?php comments_number('No Responses', 'One Response', '% Responses' );?> to &#8220;<?php the_title(); ?>&#8221;</h3>
 
	<ol class="commentlist">
	<?php wp_list_comments('type=comment'); ?>
	</ol>
	<?php endif; ?>
 
	<?php if ( ! empty($comments_by_type['pings']) ) : ?>
	<h3 id="pings">Trackbacks/Pingbacks</h3>
 
	<ol class="commentlist">
	<?php wp_list_comments('type=pings'); ?>
	</ol>
	<?php endif; ?>
 
	<div class="navigation">
		<div class="alignleft"><?php previous_comments_link() ?></div>
		<div class="alignright"><?php next_comments_link() ?></div>
	</div>
 <?php else : // this is displayed if there are no comments so far ?>
 
	<?php if ('open' == $post->comment_status) : ?>
		<!-- If comments are open, but there are no comments. -->
 
	<?php else : // comments are closed ?>
		<!-- If comments are closed. -->
		<p class="nocomments">Comments are closed.</p>
 
	<?php endif; ?>
<?php endif; ?>

Les trackbacks seront alors affichés séparement mais comme de vrais commentaires. Pour les afficher simplement sous forme de liste, vous pouvez utiliser la technique qui suit :
Commencez par modifier votre fichier « functions.php » pour y ajouter la fonction suivante :

<?php
function list_pings($comment, $args, $depth) {
       $GLOBALS['comment'] = $comment;
?>
        <li id="comment-<?php comment_ID(); ?>"><?php comment_author_link(); ?>
<?php } ?>

La boucle des commentaires doit être adaptée comme ceci :

<?php if ( have_comments() ) : ?>
	<?php if ( ! empty($comments_by_type['comment']) ) : ?>
	<h3 id="comments"><?php comments_number('No Responses', 'One Response', '% Responses' );?> to &#8220;<?php the_title(); ?>&#8221;</h3>
 
	<ol class="commentlist">
	<?php wp_list_comments('type=comment'); ?>
	</ol>
	<?php endif; ?>
 
	<?php if ( ! empty($comments_by_type['pings']) ) : ?>
	<h3 id="pings">Trackbacks/Pingbacks</h3>
 
	<ol class="pinglist">
	<?php wp_list_comments('type=pings&callback=list_pings'); ?>
	</ol>
	<?php endif; ?>
 
	<div class="navigation">
		<div class="alignleft"><?php previous_comments_link() ?></div>
		<div class="alignright"><?php next_comments_link() ?></div>
	</div>
 <?php else : // this is displayed if there are no comments so far ?>
 
	<?php if ('open' == $post->comment_status) : ?>
		<!-- If comments are open, but there are no comments. -->
 
	<?php else : // comments are closed ?>
		<!-- If comments are closed. -->
		<p class="nocomments">Comments are closed.</p>
 
	<?php endif; ?>
<?php endif; ?>

Dernière chose, si vous voulez modifier le compteur des commentaires pour ne pas compter les pings, il faut ajouter le code suivant dans « functions.php » :

<?php
add_filter('get_comments_number', 'comment_count', 0);
function comment_count( $count ) {
	global $id;
	$comments_by_type = &separate_comments(get_comments('post_id=' . $id));
	return count($comments_by_type['comment']);
}
?>

Si le fichier « functions.php » n’existe pas dans votre thème, il suffit de le créer!

Voilà, vous avez je pense largement de quoi bidouiller votre WordPress et ainsi avoir une excuse supplémentaire pour perdre du temps et ne pas blogguer! (Au moins je ne serai pas seul ;) )

Personnellement, je pense que les « threaded comments » ne sont pas indispensables pour un blog où le nombre relativement faible de commentaires permet largement de suivre la conversation. Sans compter que visuellement les commentaires imbriqués réduisent à peau de chagrin la largeur des commentaires.
Pour la pagination des commentaires, je suis pour l’instant satisfait de Paged Comments que j’ai légèrement modifié et dont le rendu est très correct.

Pagination des commentaires avec Paged Comments

Pagination des commentaires avec Paged Comments

Même si le duplicate content est censé être une histoire ancienne, j’ai préféré ne pas répéter n fois l’article sur chaque page de commentaires (Voir exemple ici). En espérant que la fonction intégrée de WordPress 2.7 sache gérer ça.

L\'article est caché sur une page de commentaires pour éviter le Duplicate Content.

L'article est caché sur une page de commentaires pour éviter le Duplicate Content.

Voilà donc une version 2.7 qui promet énormément, rien que pour la nouvelle interface d’administration au design beaucoup plus élégant et pratique. Et puis je préfère les couleurs plus sombres au bleu « Windows » flashy ;)

Au passage, si vous voulez un peu d’aide avec WordPress, vous pouvez vous procurer le DVD de formation WordPress auquel Fran6art a contribué.

Bonne chance!

Sources : Otto Destruct, Sivel.net, Ryan, Version 2.7.

Dans la série de A à Z : Google Chrome, Tester un site Web.

 


 

93 réponses pour "WordPress 2.7 de A à Z"

  1. Qkngiakb  Surfe sur Internet Explorer Internet Explorer 6.0 avec Windows Windows XP
    05 septembre 2011 @ 17:05
    1

    A Second Class stamp preteen story board >:-)))

  2. Un mois plus tard à Punta Cana « « Référenceur (Antoine Leroux) Référenceur (Antoine Leroux)  Surfe sur WordPress WordPress 3.2.1
    25 octobre 2011 @ 14:26
    2

    […] évolutions je vous conseille de lire les billets de PapyGeek et Fran6Art qui sont respectivement WordPress 2.7 de A à Z et WordPress 2.7 à l’utilisation, mais d’abord finissez de lire cet article et laissez un […]

  3. NEX-5N  Surfe sur Internet Explorer Internet Explorer 6.0 avec Windows Windows XP
    17 novembre 2011 @ 8:17
    3

    Ceci est très true.I perdu mon poids juste apporté des changements dans l’alimentation, en prenant tous les végétariens et des low carb Cela m’a aidé beaucoup et je suggère à tous

  4. DSLR-A900  Surfe sur Internet Explorer Internet Explorer 6.0 avec Windows Windows XP
    17 novembre 2011 @ 21:58
    4

    Páratlan téma, nagyon érdekes számomra))))

  5. DSLR-A850  Surfe sur Internet Explorer Internet Explorer 6.0 avec Windows Windows XP
    18 novembre 2011 @ 0:31
    5

    Ce blog est merveilleux. Il ya toujours toutes les infos idéale dans les idées de mes doigts. Merci et continuez votre excellent travail !

  6. Angella  Surfe sur Internet Explorer Internet Explorer 6.0
    08 décembre 2011 @ 15:06
    6

    лучшая гильдия WOW

  7. Thomas Harris  Surfe sur Mozilla Firefox Mozilla Firefox 3.5.3 avec Windows Windows XP
    08 mai 2012 @ 16:31
    7

    Great items from you, man. I have bear in mind your stuff previous to and you are just too fantastic. I really like what you’ve acquired here, really like what you are stating and the way in which during which you are saying it. You are making it enjoyable and you still take care of to keep it sensible. I cant wait to read far more from you. That is actually a great web site.

  8. cliquer ici  Surfe sur Internet Explorer Internet Explorer 6.0 avec Windows Windows XP
    20 mai 2013 @ 11:26
    8

    tout savoir votre eclairage rapidement acheter reveil voyage Francais

  9. Wordpress 2.8 pointera son nez en avril – Blogmotion  Surfe sur WordPress WordPress 3.5.2
    20 octobre 2013 @ 15:45
    9

    […] toujours pas migré, je vous conseille de prendre acte de ce guide en 10 étapes ainsi que des nouveautés et changements apportés par cette version ainsi que de lire la documentation officielle de migration (version […]

  10. Exter’Link [#3] | Externaute  Surfe sur WordPress WordPress 3.9.1
    19 juin 2014 @ 15:25
    10

    […] WordPress 2.7 de A à Z | Via PAPY GEEK […]

  11. Mon bloc de blogs n°33  Surfe sur WordPress WordPress 3.9.1
    30 juillet 2014 @ 12:32
    11

    […] à arriver et c’est avec plaisir que l’on retrouve un bon article de Papy Geek nous qui nous présente WordPress 2.7 de A à Z. Je n’ai qu’une seule chose à dire: Vivement le 10 […]

  12. Sims 4 Générateur De Code Gratuit Télécharger  Surfe sur Google Chrome Google Chrome 26.0.1410.63 avec Linux Linux
    21 septembre 2014 @ 17:04
    12

    * An exception has been fixed when broadcasting targets with a Russian client.
    diablo 2 hacks and cheats pharmacien, douloureusement.
    EVE: Dominion, the newest EVE expansion, launched today.

  13. vibradores  Surfe sur Google Chrome Google Chrome 28.0.1500.72 avec Windows Windows 7
    10 décembre 2014 @ 18:35
    13

    Thanks for the good writeup. It in truth was once a amusement account it.

    Glance complex to more added agreeable from you!
    However, how can we keep in touch?

PapyGeek n'a pas inventé la poudre, il a juste découvert le moyen de tout faire péter ! +