mrtsherman
  • 0
Учитель

Добавить класс к кнопке «Ответить» в области комментариев

  • 0

Под каждым комментарием есть ссылка «Ответить». Я хочу добавить класс к этой ссылке. Это класс по умолчанию comment-reply-link . Как я могу это сделать? Я создаю свою собственную тему и не хочу вручную редактировать файлы в каталоге wp-includes.

Share
  1. В вашем файле шаблона comments.php используйте wp_list_comments и установите параметр callback для определенной вами функции, которая будет генерировать шаблон. Внутри функции вы можете оформить ссылку ответа на комментарий.

    wp_list_comments codex
    Дальнейшее чтение при отображении комментариев

    • 0
  2. Я знаю, что это довольно старый пост, и, возможно, это может кому-то помочь.

    Вы можете заменить класс элемента, используя add_filter();

    Вот пример:

    // 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;
    }
    

    При этом вы сможете заменить класс в своих темах.

    Я надеюсь, что это может быть чем-то полезным для кого-то 🙂

    • 0
  3. Довольно старый пост, но во время поиска я зашел сюда, может быть, кому-то еще будет полезно.

    Единственное решение, которое я нашел, это полностью перестроить кнопку, которая comment_reply_link возвращается.

    Сначала я сделал два реконструирующих vars href и onclick атрибуты для кнопки ответа:

    $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 
        . '")';
    

    А затем выведите весь блок ответа, добавив свои пользовательские классы:

    <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>
    
    • 0
  4. Возможно, это не элегантное решение, но оно выполняет свою работу. Сделайте это с помощью jQuery. В основном найдите элемент и добавьте нужный класс. WordPress совершенно не упростил настройку:

    jQuery('a#comment-reply-link').addClass('mycustomcssclass');
    
    • 0

Оставить ответ

You must login to add an answer.