WordPress: como escrever uma resposta ao comentário usando jQuery

Recentemente, Cristiano Up lançou um plugin útil para WordPress que podem acrescentar dois links para cada comentário em um post (talvez você tenha instalado um similar, já que no WordPress.org diretório que transmitiu um casal, mas sendo um software italianos o caso para homenagear o excelente trabalho realizado por Christian). Estes links (reply & ações), conhecer e / ou para citar o autor de um comentário ao realizar a tarefa tediosa de inserir o sinal de arroba (@) para indicar a quem é dirigida. Neste tutorial vou mostrar - por meio de usuários experientes - a forma como estas duas características acrescentando-lhe "à mão", sem recorrer à instalação de qualquer plug-ins. Também explorar as capacidades do jQuery para a parte JavaScript. A técnica que apresento é o mesmo que eu usei para introduzir esta característica neste blog.

Nota: O uso de um plugin é a melhor solução para aqueles que tendem a modificar freqüentemente seu modelo WordPress, ou pelo menos, tem planos para implementar isso. Este tutorial é apenas para mostrar como realizar intervenções específicas dentro do código WordPress e é dedicado aos curiosos.

Edite o arquivo comments.php

A primeira mudança que fazemos é para inserir o link "responder" e "ações" em cada comentário. Para fazer isso, edite o arquivo comments.php localizado na pasta do nosso tema. Este arquivo contém todas as instruções que são apresentados os comentários no final de um post. A seção estamos interessados ​​(que podem variar ligeiramente de tema para tema) é a criação de loops através dos comentários, identificadas por:

1
2
3
4
5
( $comments as $comment ) : ?> <Php foreach ($ comments $ como comentário):?>
?> "> <Li id = "comment-<? Php COMMENT_ID ()?>">
/ / ...
</ Li>
; /* end for each comment */ ?> <? Endforeach php / * final de cada comentário * />

Dentro de um loop em torno de um tag único comentário está contido li . , possiamo inserire i nostri link, racchiudendoli in un div e impostando alcune classi che ci saranno utili per definirne più avanti il layout: Imediatamente após a tag de abertura li , ou pouco antes da tag de fechamento li , podemos usar nossos links, colocando-os em uma div e definindo algumas classes que nos ajudará a definir o layout abaixo:

1
2
3
<div class="jqr2c_ul">
?> ')">Rispondi</a> <a href="javascript:jqr2c_quote('comment- <?php comment_ID ( ) ?> ')">Quota</a> <A href = "javascript: jqr2c_reply ('comment-<Php COMMENT_ID ()?>')"> Responder </ a> <a href =?" Javascript: jqr2c_quote (? Comment-<Php COMMENT_ID ()?>' ) "Citação> </ a>
</ Div>

Nota: podemos melhorar o nosso código, adicionando uma verificação sobre o estado de comentários (aberto ou fechado) e do tipo de comentário (pingbacks, trackbacks, etc ...). Por exemplo, digitando:

1
2
3
4
5
6
7
( comments_open ( ) && <? Php if (comments_open () & &
comment_type != "trackback" && $ Comentário -> comment_type = "Trackback" & &
comment_type != "pingback" ) { ?> $ Comentário ->> comment_type = "Pingback") {?
<div class="jqr2c_ul">
?> ')">Rispondi</a> <a href="javascript:jqr2c_quote('comment- <?php comment_ID ( ) ?> ')">Quota</a> <A href = "javascript: jqr2c_reply ('comment-<Php COMMENT_ID ()?>')"> Responder </ a> <a href =?" Javascript: jqr2c_quote (? Comment-<Php COMMENT_ID ()?>' ) "Citação> </ a>
</ Div>
?> <? Php}>

Editar o arquivo header.php

e jqr2c_quote() . Os links que temos colocá-lo na sua comments.php chamar duas funções JavaScript, neste caso jqr2c_reply() e jqr2c_quote() . Vamos então colocar essas funções no topo da página, definida no arquivo header.php . , ed inseriamo le seguenti righe di codice: Vamos editar o arquivo e posizioniamoci antes da tag de fechamento da head ou a primeira chamada para o WordPress wp_header() , e insira as seguintes linhas de código:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<Php
/ **
* Inserir estilo e script se estamos vendo
* Uma única mensagem e os comentários estão abertos
* /
is_single ( ) && comments_open ( ) ) { ?> if (is_single () & & comments_open ()) {?>
<style type="text/css">
/ * Aqui definimos o nosso _____________ estilos * /
div.jqr2c_ul {margin: 0 30px 8px 400px}
/ * Etc. ... * /
</ Style>
<script type="text/javascript">
<!--//
jqr2c_reply function (id) {
Auto jQuery var = ('li #' id +) crianças ('citar') text ()..;
jQuery ('# comment textarea') texto ('<b> @' + Auto + '</ b foco >:'). ().;
}
jqr2c_quote function (id) {
Auto jQuery var = ('li #' id +) crianças ('citar') text ()..;
var c = jQuery ('# li' id +) crianças ('p') text ()..;
.. jQuery ('# comment textarea') texto ('<b> @' + Auto + '</ b>: \ n blockquote' c + + '</ p> \ n') focus ();
}
//-->
</ Script>
?> <? Php}>

Se o seu blog, como no meu caso, já usa jQuery , isso é tudo que você precisa! Caso contrário, você pode adicionar essas linhas ao código anterior, depois de if (is_single() && comments_open()) :

1
2
3
4
5
is_single ( ) && comments_open ( ) ) { ?> if (is_single () & & comments_open ()) {?>
/ / Incluir o jQuery Ajax Biblioteca API do Google
"text/javascript" src = "http://www.google.com/jsapi" > </script> <script Type = "text / javascript" src = "http://www.google.com/jsapi"> </ script>
"text/javascript" > google . load ( "jquery" , "1.2.6" ) </script> <script Type = "text / javascript"> google. Load ("jquery", "1.2.6") </ script>
/ / ... mesmo que o resto ...

Os dois scripts incluem jQuery explicada através do Google API Google AJAX Library: um ponto de viragem para desenvolvedores

19 comentários para "WordPress: como escrever uma resposta ao comentário usando jQuery"

  1. 03 de outubro de 2008 camu :

    Excelente guia, como sempre!

  2. 03 de outubro de 2008 Napolux :

    Mas por que se preocupar jQuery (com todo o peso envolvidos, embora pelo menos), quando você pode fazer tudo à mão com JS simples?

  3. 03 de outubro de 2008 Napolux :

    Pela maneira de você aqui no Firefox 3.0.3 quando o textarea já "tinha" um foco dos botões não funcionam ..

  4. 03 de outubro de 2008 Giovambattista Fazioli :

    @ Napolux:

    Mas por que se preocupar jQuery (com todo o peso envolvidos, embora pelo menos), quando você pode fazer tudo à mão com JS simples?

    Pode ser útil se, como eu, já está usando jQuery por outras razões. No entanto, é verdade que você pode alcançá-lo através de um JavaScript "simples", mas é sempre útil para explorar as existentes quadro (jquery, prototype.js, dojo, etc ...) mais do que qualquer outra coisa porque assegura uma compatibilidade cross-browser nem sempre é fácil implementar (não neste caso).

  5. 03 de outubro de 2008 Giovambattista Fazioli :

    @ Napolux:

    Pela maneira de você aqui no Firefox 3.0.3 quando o textarea já "tinha" um foco dos botões não funcionam ..

    Para mim, se eu entendi, ele não ...? No entanto, poderia ser um verme fixare : D

  6. 04 de outubro de 2008 Christian :

    Primeiro eu quero agradecer-lhe muito para a revisão dos plugins que atualmente oferece a possibilidade de mover-se entre comentários, além da funcionalidade de Citação e resposta.
    Infelizmente, apesar de eu ter sido avisado várias vezes por outros, eu ainda não foram relatados (junto com os outros eu fiz) para o repositório WordPress.org.
    Vou fazer o mais rapidamente possível ;-)

    No que respeita à solução proposta é certamente a melhor, se você já usa jQuery, a desvantagem é que apenas parece-me que não permite uma seleção parcial do texto de dimensão.

    Para aqueles interessados ​​em uma solução alternativa usando javascript puro eu gostaria de apontar o primeiro artigo que eu escrevi há algum tempo sobre o mesmo tema e que então (como resultado de pedidos de muitos leitores) surgiu com a implementação do plugin:

    Um procedimento para automaticamente citar os comentários em um post

    O procedimento também permite que citando parcial do texto e é cross-browser.

    Melhores desejos para Giovambattista com quem compartilho não só uma paixão por ciência da computação e de programação (eu também sou o pai de gêmeos :-) )

  7. 06 de outubro de 2008 Giovambattista Fazioli :

    @ Christian: você está certo sobre a deficiência na seleção, intencionalmente evitados, como eu tinha uma meta "educacional" e / ou descritivo, e não substituir a operação de sua grande Plugin : D
    Concordo com a paixão para a programação e os "duros" para crescer gêmeos : D: D
    Se você tiver alguma idéia para um Plugin WordPress novo eu gostaria de trabalhar com você, se você quiser!
    Saudações e até breve

  8. 06 de outubro de 2008 Giovambattista Fazioli :

    @ Napolux:

    Pela maneira de você aqui no Firefox 3.0.3 quando o textarea já "tinha" um foco dos botões não funcionam ..

    O problema é o uso do método text() jQuery. Isso funciona até que haja novos conteúdos adicionados. Melhor usar a forma attr('value')

  9. 06 de outubro de 2008 Christian :

    @ Giovambattista Fazioli:

    Eu tinha um objetivo "educacional" e / ou descrição e não para substituir a operação de sua grande Plugin

    Senti ;-)

    Se você tiver alguma idéia para um Plugin WordPress novo eu gostaria de trabalhar com você, se você quiser!

    O que não poderia me fazer um grande prazer; definitivamente tirar proveito de sua preparação e especialização em :-)

  10. 06 de outubro de 2008 Christian :

    @ Giovambattista Fazioli:
    Eu já "viu" e "verificadas" pelo referrer :-)
    Eu finalmente encontrei o tempo para criar-me uma conta no repositório WordPress e submeter o plugin: Eu não sei quanto tempo isso vai levá-los a aprová-la ;-)
    Se ele não tomar muito tempo, então relatá-lo aos outros que eu fiz.

  11. 09 de outubro de 2008 Leonaut.com:

    WordPress: como escrever uma resposta ao comentário usando jQuery ...

    Até recentemente, Christian lançou um plugin útil para WordPress que podem acrescentar dois links para cada comentário em um post (talvez você tenha instalado um similar, já que no WordPress.org diretório que transmitiu um casal, mas sendo ...

  12. 14 de dezembro de 2008 PanHack :

    Olá você é muito bom ... guia Great!

    Cumprimentos ;)

    Eu tenho um blogue anke ==> Se você deve visitar este site:

    Blog-PanHack

  13. 15 de dezembro de 2008 camu :

    Eu amo as pessoas que escrevem "anke" :) apenas para que eu nunca vou visitar seu blog, meu querido PanHack!

  14. 15 de dezembro de 2008 Giovambattista Fazioli :

    @ Camu:

    Eu amo as pessoas que escrevem "anke" apenas para que eu nunca vou visitar seu blog, meu querido PanHack!

    :)

  15. 15 de dezembro de 2008 camu :

    Giovambattista Desculpe, eu acordei um ácido 'pouco nesta manhã : D

  16. 9 de junho de 2010 MiniMAC:

    Porra ... eu não trabalho no sentido de que eu posto tudo, mas eu só gera um

    1
    <b> @ </ b>

    uma pequena ajuda? :)

Deixe um comentário

XHTML PERMIT TAG: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> CÓDIGO DE INSERÇÃO:
 <pre></pre> // blocco generico <code></code> // blocco generico [cc_actionscript][/cc_actionscript] // Actionscript [cc_actionscript3][/cc_actionscript3] // Actionscript 3 [cc_css][/cc_css] // CSS Style Sheet [cc_html][/cc_html] // HTML [cc_js][/cc_js] // Javascript [cc_objc][/cc_objc] // Objective-C [cc_php][/cc_objc] // PHP [cc_sql][/cc_sql] // SQL