[Wordpress] Faire fonctionner les plugins WP-Comments-Remix et MCEComments ensemble
Lorsque l’on commence un blog, la reconnaissance ultime (pour moi en tout cas) est de recevoir des commentaires de ses lecteurs.
Il s’agit de l’Ă©tape ultime, du point Ă partir duquel vous pouvez Ă©changer avec eux et de ce fait tisser des liens.
Or le système de commentaire de Wordpress n’est pas très efficace, car trop simpliste.
J’ai donc dĂ©cidĂ© d’y ajouter quelques plugins parmi lesquels:
- MCEComments v0.4.5 par Thomas Au(MK): Il ajoute un Ă©diteur WYSIWYG, en l’occurrence TinyMCE Ă la zone de saisie des commentaires.
- Subscribe To Comments v2.1.2 par Mark Jaquith: Il permet de souscrire au système de notification par email lorsque de nouveaux commentaires sont postés sur le billet.
- WP Comment Remix v1.4.3 par Jason DeVelvis: Il ajoute Ă©normĂ©ment de fonctionnalitĂ©s cotĂ© interface d’administration et la possibilitĂ© de citer ou rĂ©pondre Ă un commentaire dans les billets, d’ajouter des tags aux commentaires, …
Problème, l’installation de TinyMCE change profondĂ©ment le système de commentaires, cassant de ce fait la compatibilitĂ© des autres plugins et notamment avec WP-Comments-Remix
Je me suis donc lancé dans la résolution du problème.
En fait la solution est assez simple. WP-Comments-Remix utilise un script JS pour citer ou rĂ©pondre. Mais celui-ci se base sur JQuery et les noms « standard » des zones pour rĂ©cupĂ©rer leurs contenus. C’est lĂ que le bas blesse.
En effet, TinyMCE ajoute un DOM nommĂ© « tinyMCE » et c’est lĂ qu’il faut aller chercher les informations.
function replyto(id, to) {
jQuery("textarea[name='comment']").val("<a>@" + to + "</a> - " + jQuery("textarea[name='comment']").val()).focus();
}
function quote(id, by, text) {
jQuery("textarea[name='comment']").val("<blockquote><a>" + originallypostedby + by + "</a><br />" + text + "</blockquote>\r\n" + jQuery("textarea[name='comment']").val()).focus();
}
Il suffit alors d’utiliser la variable « tinyMCE » en lieu et place de l’instance « comment » du DOM standard.
]
function replyto(id, to) {
var com = tinyMCE.getInstanceById("comment");
var inst = "<a>@" + to + "</a> > " + com.getContent()+ "\r";
com.setContent(inst);
com.focus();
}
function quote(id, by, text) {
var com = tinyMCE.getInstanceById("comment");
var inst = "<blockquote><a>" + originallypostedby + by + "</a><br />" + text + "</blockquote><br />\r\n" + com.getContent()+ "\r";
com.setContent(inst);
com.focus();
}
Tout ceci se trouve dans le fichier replyquote.js du plugin WP-Comments-Remix.
Voila, j’espère que ca servira Ă certains.
PS: j’ai encore un problème avec les accents, donc si un ponte du JS veut bien m’aider, je suis ouvert
PS2: N’hĂ©sitez pas Ă laisser des commentaires








Citer #1 par sainte marie le 23 novembre 2008 - 04:04
merci Ă lionel pour la pic
Citer #2 par Lionel Roux le 23 novembre 2008 - 04:05
@sainte marie – de rien
Citer #3 par Dimkit le 7 juin 2009 - 01:18
Salut, je cherchais Ă rĂ©soudre Ă©galement le problème d’accent dans wp-comment-remix. Je viens de trouver la rĂ©ponse dans la partie support du forum des plugins wordpress.
Ouvre ton wpcommentremix.php
Fait un Ctrl + F pour trouver la ligne la ligne ==> $text = htmlentities($text);
Comment là et ajoute cette ligne juste après.
$text = htmlentities($text, ENT_QUOTES, get_settings(‘blog_charset’));
Cela aura pour effet, d’utiliser l’encodage que tu as renseignĂ© dans l’admin de ton wordpress. En espĂ©rant que cela te serve
Cordialement
Dimkit.
Citer #4 par Lionel Roux le 7 juin 2009 - 12:46
Je ne l’utilise plus mais ça pourra servir Ă d’autres…. Merci pour l’info.
Citer #5 par directory le 23 décembre 2008 - 19:15
COOL !!!
Sur Wikipedia et Linterweb » Aide pour Kiwix le 8 dĂ©cembre 2008 - 02:02
[...] profitĂ© Ă©galement ce dimanche d’ajouter quelques modules sur le Wordpress afin de rendre la partie commentaire plus [...]