Wordpress: comment écrire une réponse à un commentaire en utilisant jQuery

Vendredi, Octobre 3rd, 2008

Récemment, même le Christ a publié un plug-in utile pour Wordpress qui peut ajouter deux liens vers chaque commentaire dans un post (peut-être que vous avez installé quelque chose de similaire, comme dans le répertoire, je ficelé il Wordpress.org un couple, mais comme un logiciel en italien serait l'événement à l'honneur l'excellent travail accompli par Christian). Ces liens (réponse & cite), rencontrer et / ou une citation de l'auteur d'un commentaire en effectuant l'opération ennuyeuse pour insérer le signe arobase (@) pour indiquer à qui ils s'adressent. Dans ce tutoriel, je vais montrer - pour l'utilisateur moyen-experts - comment ajouter ces deux caractéristiques à la main, sans recourir à l'installation de l'un des Plugin. Également exploiter les capacités de jQuery pour la partie en Javascript. La technique que je soulève est la même que j'ai utilisé pour introduire cette fonctionnalité dans ce blog.

Note: L'utilisation d'un plugin est la meilleure solution pour ceux qui ont tendance à changer fréquemment leur WordPress modèle ou, au moins, a, en prévision de le faire. Ce tutoriel va montrer seulement comment pratiquer des interventions ciblées dans le code de Wordpress et est dédié aux plus curieux.

Modifier le comments.php

Le premier changement que nous faisons est de mettre le lien «Répondre» et «unités» au sein de chaque commentaire. Pour ce faire, éditez le comments.php fichier dans le dossier racine de notre thème. Ce fichier contient toutes les instructions qui vous permettent d'afficher les commentaires à la fin d'un poste. La section qui nous concerne (ce qui mai varier légèrement d'un thème à thème) est la boucle de créer différentes observations, identifié par:

PHP:
  1. ( $comments as $comment ) : ?> <? Php foreach ($ comments as $ comment):?>
  2. ?> "> <li id = "comment-<? php comment_ID ()?>">
  3. / / ...
  4. </ Li>
  5. ; /* end for each comment */ ?> <? Php endforeach / * end for each comment * /?>

Dans une telle boucle autour d'une balise de commentaire unique est enfermé dans li Immédiatement après la balise d'ouverture li ou immédiatement avant la balise de clôture li nous pouvons utiliser nos liens, l'enfermant dans un div et définir certaines classes qui nous aidera à définir plus précisément la mise en page:

PHP:
  1. <div class="jqr2c_ul">
  2. ?> ')">Rispondi</a> <a href="javascript:jqr2c_quote('comment- <?php comment_ID ( ) ?> ')">Quota</a> <a href = "javascript: jqr2c_reply (" comment-<? php comment_ID ()?>')"> Répondre </ a> <a href = "javascript: jqr2c_quote (" comment-<? ()?>' comment_ID php ) "> Partager </ a>
  3. </ Div>

Note: nous pouvons améliorer notre code également d'ajouter un contrôle sur l'état des entrées (ouvert ou fermé) et le type de commentaire (Pingback, trackback, etc ...). Par exemple la saisie:

PHP:
  1. ( comments_open ( ) && <? Php if (comments_open () & &
  2. comment_type != "trackback" && $ Commentaire -> comment_type! = "Trackback" & &
  3. comment_type != "pingback" ) { ?> $ Commentaire -> comment_type! = "Pingback") (?>
  4. <div class="jqr2c_ul">
  5. ?> ')">Rispondi</a> <a href="javascript:jqr2c_quote('comment- <?php comment_ID ( ) ?> ')">Quota</a> <a href = "javascript: jqr2c_reply (" comment-<? php comment_ID ()?>')"> Répondre </ a> <a href = "javascript: jqr2c_quote (" comment-<? ()?>' comment_ID php ) "> Partager </ a>
  6. </ Div>
  7. ?> <? Php)?>

Modifier le header.php

Les liens que nous mettre dans votre comments.php appelé deux fonctions JavaScript, dans ce jqr2c_reply() cas jqr2c_reply() et jqr2c_quote() Nous allons donc inclure ces fonctions dans l'en-tête de la page, défini dans le header.php Modifiez ce fichier et posizioniamoci avant de fermer la head tag ou avant l'appel à wp_header() WordPress wp_header() et insérer les lignes de code suivantes:

PHP:
  1. <? Php
  2. / **
  3. * Insérer le style et le script que si nous voyez
  4. * Un seul poste et les commentaires sont ouverts
  5. * /
  6. is_single ( ) && comments_open ( ) ) { ?> if (is_single () & & comments_open ()) (?>
  7. <style type="text/css">
  8. / * _____________ Nous pouvons définir nos styles ici * /
  9. div.jqr2c_ul (margin: 8px 0 30px 400px)
  10. / * Etc ... * /
  11. </ Style>
  12. <script type="text/javascript">
  13. <!--//
  14. jqr2c_reply function (id) (
  15. aut var = jQuery ( 'li #' + id). enfants ( «Cité»). text ();
  16. ( 'textarea jQuery # comment »). text (' <b> @ '+ aut +' </ b >:'). focus ();
  17. )
  18. jqr2c_quote function (id) (
  19. aut var = jQuery ( 'li #' + id). enfants ( «Cité»). text ();
  20. var c = jQuery ( 'li #' + id). enfants ( 'p'). text ();
  21. ( 'textarea jQuery # comment »). text (' <b> @ '+ aut +' </ b>: \ n <blockquote> '+ c +' </ blockquote> \ 'n). focus ();
  22. )
  23. //-->
  24. </ Script>
  25. ?> <? Php)?>

Si votre blog, comme dans mon cas, utilise déjà jQuery, c'est tout ce qu'il vous faut! Sinon, vous pouvez ajouter ces lignes au code précédent après if (is_single() && comments_open())

PHP:
  1. is_single ( ) && comments_open ( ) ) { ?> if (is_single () & & comments_open ()) (?>
  2. / / JQuery Inclure via l'API Google Ajax Library la
  3. "text/javascript" src = "http://www.google.com/jsapi" ></ script > <script Type = "text / javascript" src = "http://www.google.com/jsapi"> </ script>
  4. "text/javascript" > google . load ( "jquery" , "1.2.6" ) </script> <script Type = "text / javascript">. Google Load ( "jquery", "1.2.6") </ script>
  5. / / ... par ailleurs identiques ...

Les deux scripts include jQuery par l'intermédiaire du service Google expliqué dans Google AJAX API Bibliothèque: un tournant pour les développeurs

Related Post

Cet article était utile?: Per nientePocoAbbastanzaMoltoMoltissimo
Loading ... Chargement ...

18 commentaires pour "Wordpress: comment écrire une réponse à un commentaire en utilisant jQuery"

  1. getAvatar 1.0
    03 ottobre 2008 Camu:

    Excellent guide, comme toujours!

  2. getAvatar 1.0
  3. getAvatar 1.0
    03 ottobre 2008 Napolux:

    Mais pourquoi jQuery Trouble (avec leur poids, même si un minimum) quand vous pouvez tout faire à la main avec JS simple?

  4. getAvatar 1.0
    03 ottobre 2008 Napolux:

    Entre autres choses ici de vous à propos de Firefox 3.0.3, si la zone de texte «a déjà eu« un accent boutons ne fonctionnent pas ..

  5. getAvatar 1.0
    03 ottobre 2008 Giovambattista Fazioli:

    @ Napolux:

    Mais pourquoi jQuery Trouble (avec tout le poids que cela implique, même si un minimum) quand vous pouvez tout faire à la main avec JS simple?

    Mai être utile si, comme dans mon cas qui utilisent déjà jQuery pour d'autres raisons. Toutefois, il est vrai que vous pouvez y parvenir grâce à un «simple» Javascript, mais il est toujours utile d'exploiter les cadres existants de travail (jQuery, Prototype.js, Dojo, etc ...) en raison principalement d'assurer la compatibilité cross-browser n'est pas toujours facile à mettre en oeuvre (pas dans ce cas).

  6. getAvatar 1.0
    03 ottobre 2008 Giovambattista Fazioli:

    @ Napolux:

    Entre autres choses ici de vous à propos de Firefox 3.0.3, si la zone de texte «a déjà eu« un accent boutons ne fonctionnent pas ..

    Pour moi, si je comprends bien, il ne fait pas ... ? Toutefois, il pourrait être un ver fixare : D

  7. getAvatar 1.0
    04 ottobre 2008 Christian:

    D'abord, je tiens à vous remercier beaucoup pour l'examen du greffon qui offre désormais la possibilité de se déplacer entre les commentaires, en plus des caractéristiques des devis et réponse.
    Malheureusement, bien que j'ai été informé à plusieurs reprises par d'autres, je n'ai pas encore été rapportés (avec d'autres que j'ai compris) le dépôt de WordPress.org.
    Je vais en faire bientôt ;-)

    En ce qui concerne la solution proposée est certainement le meilleur si vous utilisez déjà jQuery, son seul handicap est qu'il me semble qu'il ne permet pas de liste d'une sélection partielle du texte.

    Pour ceux intéressés par une solution alternative en utilisant JavaScript pur, je rappelle le premier article que j'ai écrit récemment sur des sujets connexes, et d'où ensuite (après de nombreuses demandes de lecteurs) ont proposé la mise en oeuvre du plugin:

    Une procédure automatique a cité des commentaires dans un message

    La procédure permet également à la partie qui cite le texte et est multi-navigateur.

    Un salut chaleureux à Giovambattista avec qui je partage non seulement la passion pour l'informatique et la programmation (moi aussi je suis le père de jumeaux :-) )

  8. getAvatar 1.0
    06 ottobre 2008 Giovambattista Fazioli:

    @ Christian: tu as raison sur le handicap dans la sélection, a délibérément évité, parce que j'avais un but, un «enseignement» et / ou descriptive, et ne remplacera pas le fonctionnement de votre plugin grande : D
    Convenir d'une passion pour la programmation et "difficile" d'augmenter les jumeaux : D: D
    Si vous avez une idée pour un nouveau plugin Wordpress j'aimerais travailler avec vous si vous le souhaitez!
    Salutations et à bientôt

  9. getAvatar 1.0
    06 ottobre 2008 Giovambattista Fazioli:

    @ Napolux:

    Entre autres choses ici de vous à propos de Firefox 3.0.3, si la zone de texte «a déjà eu« un accent boutons ne fonctionnent pas ..

    Le problème est l'utilisation du text() la méthode text() de jQuery. Cela fonctionne jusqu'à ce qu'il y est ajouté un nouveau contenu. Mieux vaut utiliser attr('value') forme attr('value')

  10. getAvatar 1.0
    06 ottobre 2008 Christian:

    @ Giovambattista Fazioli:

    J'avais un objectif «pédagogique» et / ou descriptive, et ne remplacera pas le fonctionnement de votre plugin grande

    J'ai deviné ;-)

    Si vous avez une idée pour un nouveau plugin Wordpress j'aimerais travailler avec vous si vous le souhaitez!

    La chose ne pouvait me donner un immense plaisir, sans aucun doute profiter de vos compétences et connaissances dans :-)

  11. getAvatar 1.0
  12. getAvatar 1.0
    06 ottobre 2008 Christian:

    @ Giovambattista Fazioli:
    J'ai déjà "vu" et "vérifiée" par le Parrain :-)
    J'ai finalement trouvé le temps de me créer un compte sur le référentiel et soumettre le plugin WordPress: Je ne sais pas ce qu'il aura à approuver ;-)
    Si cela ne prendra pas beaucoup de temps, alors que d'autres suggèrent aussi que j'ai déjà réalisé.

  13. getAvatar 1.0
    09 ottobre 2008 Leonaut.com:

    Wordpress: comment écrire une réponse à un commentaire en utilisant jQuery ...

    Cristiano Jusqu'à tout récemment publié un plugin utile pour Wordpress qui peut ajouter deux liens vers chaque commentaire dans un post (peut-être vous avez quelque chose de similaire installé, comme dans l'annuaire, j'ai ficelé il Wordpress.org un couple, mais comme ...

  14. getAvatar 1.0
    14 décembre 2008 PanHack:

    Bonjour vous êtes bien bon ... guides excellent!

    Félicitations ;)

    J'ai un blog, je anke ==> Si vous allez Visitagao:

    PanHack-Blog

  15. getAvatar 1.0
    15 décembre 2008 camu:

    Les gens aiment qui écrivent "Anke" :) juste pour que je n'irai jamais de visiter votre blog, mon cher PanHack!

  16. getAvatar 1.0
    15 décembre 2008 Giovambattista Fazioli:

    @ Camu:

    J'adore les gens qui écrivent "Anke« c'est seulement pour que je n'irai jamais de visiter votre blog, mon cher PanHack!

    :)

  17. getAvatar 1.0
    15 décembre 2008 camu:

    Désolé Giovambattista, je me suis réveillé un peu acide, ce matin : D

  18. getAvatar 1.0

Laissez un commentaire

TAG PERMISSIONS XHTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> INSERTION CODE:
 <pre></pre>         // blocco generico [code][/code]       // blocco generico [as][/as]           // Actionscript [css][/css]         // CSS Style Sheet [html][/html]       // HTML [js][/js]           // Javascript [objc][/objc]       // Objective-C [php][/php]         // PHP [sql][/sql]         // SQL