Adicione classe ao botão Responder na área Comentários

3

Em cada comentário, há um link chamado "Responder". Eu quero adicionar uma classe a este link. Sua classe padrão é comment-reply-link . Como posso fazer isso? Estou criando meu próprio tema e não quero editar manualmente os arquivos dentro do diretório wp-includes.

    
por mrtsherman 22.03.2011 / 23:27

5 respostas

3

Em seu arquivo de modelo comments.php, use wp_list_comments e defina o parâmetro callback para sua função definida que irá gerar o modelo. Dentro da função, você pode estilizar o link de resposta do comentário.

wp_list_comments codex
Outras leituras na exibição de comentários

    
por Evan Yeung 22.03.2011 / 23:41
13

Eu sei que este é um post antigo e talvez isso possa ajudar alguém.

Você pode substituir a classe de um elemento usando add_filter ();

Veja um exemplo:

// filter to replace class on reply link

//           class name             function name
add_filter('comment_reply_link', 'replace_reply_link_class');


function replace_reply_link_class($class){
    $class = str_replace("class='comment-reply-link", "class='reply", $class);
    return $class;
}

Com isso, você poderá substituir a turma em seus temas.

Espero que isso possa ser de alguma ajuda para alguém:)

    
por freeman76 15.05.2013 / 23:03
3

Postagem bastante antiga, mas durante a pesquisa eu vim até aqui, talvez outra pessoa ache útil.

A única solução que encontrei é reconstruir completamente o botão que comment_reply_link retorna.

Primeiramente, criei duas vars para reconstruir os atributos href e onclick para o botão de resposta:

$reply_href = wp_make_link_relative(
    get_permalink( $comment->comment_post_ID ) 
    ) 
    . '?replytocom=' . $comment->comment_ID . '#respond';

$reply_onclick = 'return addComment.moveForm("comment-' 
    . $comment->comment_ID 
    . '", "' 
    . $comment->comment_ID 
    . '", "respond", "' 
    . $comment->comment_post_ID 
    . '")';

Em seguida, imprima o bloco de resposta inteiro, adicionando suas classes personalizadas:

<div class="reply">
    <a class="comment-reply-link custom-class" href="<?php 
        echo $reply_href; 
        ?>" onclick="<?php 
        echo $reply_onclick; 
        ?>"><?php 
        _e('Reply', 'yourthemename'); 
    ?></a>
</div>
    
por sclerato 01.12.2012 / 20:15
1

Esta pode não ser uma solução elegante, mas faz o trabalho. Faça isso com jQuery. Basicamente encontre o elemento e adicione a classe que você precisa. O WordPress não facilitou a personalização:

jQuery('a#comment-reply-link').addClass('mycustomcssclass');
    
por racl101 17.07.2012 / 21:15
0

Também algo para checar (como eu esqueci isso por cerca de meia hora) ...

Verifique em: Configurações > Discussão

Esta caixa de seleção está marcada:

  

Ativar os níveis de comentários encadeados (aninhados) profundamente

Caso contrário, o botão de resposta não aparecerá em todos

    
por Keryn Gill 31.10.2014 / 21:25