Wordpress: jak napisać odpowiedź na komentarz przy użyciu jQuery

Piątek 3 października 2008

Ostatnio Cristiano Fino wydane zysku Plugin dla Wordpress można dodać dwa linki do wszystkich uwag przez post (być może masz zainstalowane podobne, biorąc pod uwagę, że katalog Wordpress.org Mam kilka manowce, ale jako włoski oprogramowania będzie przypadku, aby uczcić przyjmuje znakomitą pracę wykonaną przez Cristiano). Te Link (odpowiedź i akcji), spotykają się i / lub autora cytatem komentarz uruchamiając nudne operacji wstawić znak (@), aby wskazać, do których jest skierowana. W tym samouczku będę wyjaśniać - w perspektywie średnio-zaawansowanych użytkowników - jak dodać te dwie funkcje "na rękę", bez żadnych all'istallazione Plugin. Również wykorzystać możliwości jQuery do strony w JavaScript. Technika ta jest wykazujące ten sam użyłem do wprowadzenia tej funkcji w tym blogu.

Uwaga: korzystanie z wtyczki jest najlepszym rozwiązaniem dla tych, którzy często mają tendencję do zmiany ich Wordpress szablon lub przynajmniej, nie w oczekiwaniu na to. Znajdziesz w nim tylko pokazać, jak wykonać kierowana w kodzie Wordpress i poświęcona jest najbardziej ciekawi.

Zmiana pliku comments.php

Pierwsza zmiana jest, aby wejść na link "Odpowiedz" i "jednostek" w ramach każdego komentarza. Aby to zrobić, należy edytować plik comments.php w folderze naszego tematu. Plik ten zawiera wszystkie instrukcje, które pozwalają, aby wyświetlić komentarze na końcu postu. Dział nam, że interesy (co może się nieznacznie różnić od wydania do wydania) jest utworzenie loop różnych uwag, rozpoznawalne przez:

PHP:
  1. ( $comments as $comment ) : ?> <? Php foreach ($ comments as $ comment):?>
  2. <li id = "comment-<? php comment_ID ()?>>
  3. / / ...
  4. </ Li>
  5. ?> <? Php endforeach; / * na koniec każdego komentarza * />

W pętli tego typu w całej jednym komentarz znacznikiem jest li nich li Natychmiast po otwarciu tagu li lub na krótko przed zamykającym znacznikiem li umieścić nasz odnośnik, otacza w div i ustawienie niektórych klas, które pomogą określić układ poniżej:

PHP:
  1. > <div class = "jqr2c_ul">
  2. >Quota</a> <a href = "javascript: jqr2c_reply (" comment-<? php comment_ID () ?>')"> Odpowiedz </ a> <a href = "javascript: jqr2c_quote (" comment-<? php comment_ID ()?> " ) "> Podziel się </ a>
  3. </ Div>

Uwaga: możemy poprawić nasz kod dodając sprawdzić status komentarze (otwarte lub zamknięte) oraz rodzaj komentarza (Pingback, trackback, etc ...). Na przykład wpisując:

PHP:
  1. ( comments_open ( ) && If (comments_open () & &
  2. != "trackback" && $ Comment -> comment_type! = "Trackback" & &
  3. != "pingback" ) { ?> $ Comment -> comment_type! = "Pingback") (?>
  4. > <div class = "jqr2c_ul">
  5. >Quota</a> <a href = "javascript: jqr2c_reply (" comment-<? php comment_ID () ?>')"> Odpowiedz </ a> <a href = "javascript: jqr2c_quote (" comment-<? php comment_ID ()?> " ) "> Podziel się </ a>
  6. </ Div>
  7. ?> <? Php)?>

Zmiana pliku header.php

Powiązań, które stawiamy sobie w pliku comments.php JavaScript o nazwie dwie funkcje, w tym przypadku jqr2c_reply() jqr2c_quote() Pozwól nam przejść następnie do włączenia tych funkcji nell'header stronie, zdefiniowane w pliku header.php Edytuj ten plik i posizioniamoci przed końcem znacznikiem head lub przed wywołanie funkcji Wordpress wp_header() i dodać następujące wiersze kodu:

PHP:
  1. <? Php
  2. / **
  3. * Wstaw skrypt stylu i tylko wtedy, gdy jesteśmy oglądania
  4. * Jeden post i komentarze są otwarte
  5. * /
  6. is_single ( ) && comments_open ( ) ) { ?> if (is_single () & & comments_open ()) (?>
  7. <style type= "text/css">
  8. / * _____________ Tutaj możemy zdefiniować nasz styl * /
  9. 30px 400px } div.jqr2c_ul (margin: 8px 0 30px 400 pikseli)
  10. / * Itp ... * /
  11. </ Style>
  12. <script type= "text/javascript">
  13. <! - / /
  14. id ) { jqr2c_reply function (id) (
  15. 'li#' +id ) .children ( 'cite' ) .text ( ) ; var aut = jQuery ( 'li #' + id). dziećmi ( "cytują"). tekstowych ();
  16. ) .text ( '<b>@' +aut+ '</b>: ' ) .focus ( ) ; jQuery ( 'textarea # comment "). tekstem (" @ <b> "aut + +" </ b >:'). focus ();
  17. )
  18. id ) { jqr2c_quote function (id) (
  19. 'li#' +id ) .children ( 'cite' ) .text ( ) ; var aut = jQuery ( 'li #' + id). dziećmi ( "cytują"). tekstowych ();
  20. 'li#' +id ) .children ( 'p' ) .text ( ) ; var c = jQuery ( 'li #' + id). dziećmi ( "p"). tekstowych ();
  21. ) .text ( '<b>@' +aut+ '</b>: \n <blockquote>' +c+ '</blockquote> \n ' ) .focus ( ) ; jQuery ( 'textarea # comment "). tekstem (" @ <b> "aut + +" </ b>: \ n <blockquote> "+ c +" </ blockquote> \ n'). focus ();
  22. )
  23. //-->
  24. </ Script>
  25. ?> <? Php)?>

Jeśli Twój blog, jak w moim przypadku, już korzysta z jQuery, that's all I need! Inaczej można dodać do tych linii kodu przed, po if (is_single() && comments_open())

PHP:
  1. is_single ( ) && comments_open ( ) ) { ?> if (is_single () & & comments_open ()) (?>
  2. / / Dołącz jQuery za pośrednictwem Google Ajax API Library
  3. ></script> <script type= "text/javascript" src= "http://www.google.com/jsapi"> </ script>
  4. "jquery" , "1.2.6" ) </script> <script type= "text/javascript"> google.load ( "jquery", "1.2.6") </ script>
  5. / / ... W inny sposób identyczny ...

Te dwa skryptów obejmują jQuery poprzez usługi Google wyjaśniono w Google AJAX API Library: punkt zwrotny dla programistów

Powiązane Post

13 Komentarze do: "Wordpress: jak napisać odpowiedź na komentarz przy użyciu jQuery"

  1. getAvatar 1.0 Piątek 03 października 2008 r. 16:48
    Camui powiedział:

    Doskonałym przewodnikiem, jak zawsze!

    Odpowiedź Cytat
  2. getAvatar 1.0 Piątek 03 października 2008 r. 16:57
    Giovambattista Fazioli powiedział:

    @ Camui: : D

    Odpowiedź Cytat
  3. getAvatar 1.0 Piątek 03 października 2008 r. 20:07
    Napolux powiedział:

    Ale dlaczego kłopoty jQuery (wszystkie wagi, że pociąga za sobą, chociaż minimalne), kiedy możesz zrobić wszystko ręcznie z prostych JS?

    Odpowiedź Cytat
  4. getAvatar 1.0 Piątek 03 października 2008 r. 20:08
    Napolux powiedział:

    Między innymi tu na Firefox 3.0.3, jeżeli textarea już "miał", należy skoncentrować się przyciski nie działają ..

    Odpowiedź Cytat
  5. getAvatar 1.0 Piątek 03 października 2008 r. 20:22
    Giovambattista Fazioli powiedział:

    @ Napolux:

    Ale dlaczego kłopoty jQuery (wszystkie wagi, że pociąga za sobą, chociaż minimalne), kiedy możesz zrobić wszystko ręcznie z prostych JS?

    Może to być przydatne, jeżeli, jak w moim przypadku, już przy użyciu jQuery z innych powodów. Ale prawdą jest, że można osiągnąć poprzez "zwykłą" JavaScript, ale zawsze jest przydatne do wykorzystania istniejących ram pracy (jQuery, prototype.js, Dojo, itp ...) bardziej niż cokolwiek innego, ponieważ zapewnienia zgodności przeglądarki krzyżowej nie zawsze jest łatwe do wdrożenia (nie w tym przypadku).

    Odpowiedź Cytat
  6. getAvatar 1.0 Piątek 03 października 2008 r. 20:23
    Giovambattista Fazioli powiedział:

    @ Napolux:

    Między innymi tu na Firefox 3.0.3, jeżeli textarea już "miał", należy skoncentrować się przyciski nie działają ..

    Dla mnie, jeśli rozumieć poprawnie, nie ...? Jednakże, może być błąd z fixare : D

    Odpowiedź Cytat
  7. getAvatar 1.0 Sobota 04 października 2008 r. 14:12
    Christian powiedział:

    Pierwsze chcę serdecznie podziękować za przegląd Wtyczka aktualnie oferuje możliwość przemieszczania się między pozycje, oprócz funkcjonalności akcji i Odpowiedz.
    Niestety, pomimo wielokrotnie zostali powiadomieni przez innych, ja jeszcze nie zgłosiły (wraz z innymi, że zrobiłem) do repozytorium WordPress.org.
    I będzie to jak najszybciej ;-)

    Jeśli chodzi o zaproponowane rozwiązanie jest najlepsze, jeśli już używać jQuery, jedyne utrudnienie polega na tym, że wydaje mi się, że nie ma na liście częściowego wyboru tekstu.

    Dla osób zainteresowanych rozwiązaniem alternatywnym użyciu czystego javascript pozwól mi zwrócić uwagę, że pierwszy artykuł napisałem dawno temu na podobny temat i od którego następnie (w wyniku prośby wielu czytelników) wdraża wtyczki:

    Procedura automatycznie cytatem uwagi na post

    Czynności również pozwala na cytowanie części tekstu i przeglądarki krzyżowej.

    Ogromny hello do Giovambattista, z którymi dzielę nie tylko pasja do komputerów i programowania (Ja jestem ojcem bliźniąt :-) )

    Odpowiedź Cytat
  8. getAvatar 1.0 Poniedziałek 06 października 2008 r. 09:53
    Giovambattista Fazioli powiedział:

    @ Cristiano: masz rację ze względu na wybór, świadomie unikać, ponieważ miałem cel, "nauczania" i / lub opisowej, a nie zastępować swoje doskonałe Plugin : D
    Zgadzam się, że pasja do programowania i "zmęczenie" rośnie bliźniąt : D : D
    Jeśli masz jakiś pomysł na nową Wordpress Plugin Lubię pracować z tobą, jeśli chcesz!
    Pozdrowienia wkrótce

    Odpowiedź Cytat
  9. getAvatar 1.0 Poniedziałek 06 października 2008 r. 11:17
    Giovambattista Fazioli powiedział:

    @ Napolux:

    Między innymi tu na Firefox 3.0.3, jeżeli textarea już "miał", należy skoncentrować się przyciski nie działają ..

    Problemem jest stosowanie metody text() z jQuery. To działa, dopóki nie wprowadzić nową treść. Lepsze wykorzystanie postaci attr('value')

    Odpowiedź Cytat
  10. getAvatar 1.0 Poniedziałek 06 października 2008 r. 13:02
    Christian powiedział:

    @ Giovambattista Fazioli:

    Miałem cel, "nauczania" i / lub opisowej, a nie zastępować swoje doskonałe Plugin

    I poczuć ;-)

    Jeśli masz jakiś pomysł na nową Wordpress Plugin Lubię pracować z tobą, jeśli chcesz!

    Co będzie, że to nie mnie wielką przyjemnością, z pewnością wykorzystać swoje przygotowania i kompetencji w dziedzinie :-)

    Odpowiedź Cytat
  11. getAvatar 1.0 Poniedziałek 06 października 2008 r. 16:20
    Giovambattista Fazioli powiedział:

    @ Cristiano: Zobacz jQuery odpowiedzieć na komentarz

    Odpowiedź Cytat
  12. getAvatar 1.0 Poniedziałek 06 października 2008 r. 23:30
    Christian powiedział:

    @ Giovambattista Fazioli:
    Mam już "przeszedł" i "zweryfikowała" wywołujące przez :-)
    I wreszcie znaleźć czas na crearmi uwagę na repozytorium WordPress i odnoszą się do wtyczki: Nie wiem jak długo będziemy je zatwierdzić ;-)
    Jeśli nie będzie trwać długo, a następnie powiadomić innych, że muszę osiągnąć.

    Odpowiedź Cytat
  13. getAvatar 1.0 Czwartek, 09 października 2008 r. 03:46
    Leonaut.com powiedział:

    Wordpress: jak napisać odpowiedź na komentarz przy użyciu jQuery ...

    Cristiano Do niedawna wydawane cenny dla Wordpress Plugin można dodać dwa linki do wszystkich uwag przez post (być może masz zainstalowane podobne, biorąc pod uwagę, że katalog Wordpress.org Mam kilka manowce, ale jak ...

Zostaw komentarz

TAG XHTML <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> href="" <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Użyj <pre> umieszczenie kodu