• Кастомная система комментариев WordPress с микроразметкой
    Хотите заказать услугу прямо сейчас?

    Кастомная система комментариев WordPress с микроразметкой и AJAX


    Полная инструкция по созданию кастомной системы комментариев WordPress с микроразметкой

    Комментарии на сайте играют ключевую роль для удержания пользователей, повышения вовлеченности и SEO продвижения. В этой статье мы подробно разберём, как создать современную систему комментариев с микроразметкой, AJAX формой, вложенными ответами и лайками. Данный подход полностью подходит для кастомных шаблонов WordPress.

    1. Структура статьи и комментариев

    Для SEO важно разделять основной контент статьи и комментарии. Используем itemscope itemtype=»https://schema.org/BlogPosting» для статьи и Comment для каждого комментария.

    Статья (BlogPosting) Комментарии (Comment)

    2. Функция render_custom_comment()

    Создаем PHP функцию для рендера комментариев с вложенными ответами:

    function render_custom_comment($comment, $level = 0) {
      $likes = get_comment_meta($comment->comment_ID, 'likes_count', true) ?: 0;
      ?>
      <div class="custom-comment level-<?php echo $level; ?>" itemscope itemtype="https://schema.org/Comment">
          <strong itemprop="author"><?php echo esc_html($comment->comment_author); ?></strong>
          <time itemprop="datePublished" datetime="<?php echo get_comment_date('c', $comment); ?>">
            <?php echo get_comment_date('d.m.Y H:i', $comment); ?>
          </time>
          <div itemprop="text"><?php echo esc_html($comment->comment_content); ?></div>
          <div class="comment-actions">
            <button class="like-btn" data-id="<?php echo $comment->comment_ID; ?>">👍 <span><?php echo $likes; ?></span></button>
            <button class="reply-btn" data-id="<?php echo $comment->comment_ID; ?>">Ответить</button>
          </div>
          <div class="reply-wrapper"></div>
      </div>
      <?php
      $children = get_comments(['post_id' => $comment->comment_post_ID, 'parent' => $comment->comment_ID, 'status' => 'approve']);
      foreach($children as $child){
          render_custom_comment($child, $level + 1);
      }
    }
    

    3. AJAX форма для комментариев

    Форма с AJAX позволяет пользователям оставлять комментарии без перезагрузки страницы:

    <form id="custom-comment-form">
      <input type="text" name="author" placeholder="Ваше имя" required>
      <input type="email" name="email" placeholder="Email" required>
      <textarea name="comment" placeholder="Ваш комментарий" required></textarea>
      <input type="hidden" name="post_id" value="123">
      <input type="hidden" name="parent_id" id="parent_id" value="0">
      <button type="submit">Отправить</button>
      <button type="button" id="cancel-reply">Отменить ответ</button>
    </form>
    

    1. AJAX добавление комментария

    Пользователь вводит комментарий

    AJAX отправка на сервер

    Сохранение в базу WordPress

    4. JavaScript для лайков и ответов

    document.addEventListener("DOMContentLoaded", function(){
      const ajaxUrl = "/wp-admin/admin-ajax.php";
      const form = document.getElementById("custom-comment-form");
      const parentInput = document.getElementById("parent_id");
    
      form.addEventListener("submit", function(e){
        e.preventDefault();
        let fd = new FormData(this);
        fd.append("action","send_custom_comment");
        fetch(ajaxUrl,{method:"POST",body:fd})
          .then(res => res.json())
          .then(data => {
            form.reset();
            parentInput.value = 0;
          });
      });
    
      document.addEventListener("click", function(e){
        if(e.target.closest(".like-btn")){
          let btn = e.target.closest(".like-btn");
          let id = btn.dataset.id;
          let fd = new FormData();
          fd.append("action","like_comment");
          fd.append("comment_id",id);
          fetch(ajaxUrl,{method:"POST",body:fd})
            .then(res => res.json())
            .then(data => { btn.querySelector("span").innerText = data.data.likes; btn.classList.add("liked"); });
        }
    
        if(e.target.closest(".reply-btn")){
          parentInput.value = e.target.closest(".reply-btn").dataset.id;
        }
      });
    });
    
    • кастомная форма комментариев WordPress
    • микроразметка комментариев schema
    • вложенные ответы WordPress
    • Habr-style комментарии WordPress
    • AJAX лайки комментариев WordPress
    • кастомный шаблон Аспро

    5. Пример готового комментария


    Отличная статья! AJAX форма работает идеально, микроразметка видна в rich snippet.

    6. Дополнительные советы

    Вы можете добавить:

    • Отображение аватаров через Gravatar
    • Модерацию и фильтры спама
    • Сортировку по дате или популярности
    • AJAX пагинацию
    • Кастомные поля комментариев (например, рейтинг товара)
    • Визуальные эффекты при добавлении комментария (анимации)
    Комментарий добавляется через AJAX Микроразметка Schema.org

    Эта структура гарантирует, что сайт получает максимум SEO пользы, пользователи вовлечены, а комментарии красиво оформлены и интерактивны.

    Комментарии








    Комментарии (0)

    Оставить комментарий

    Кейсы компании

    Кейс: создание кастомной корзины на 1С‑Битрикс с лицензией «Стандарт»

    Посмотреть

    Кастомная система комментариев WordPress с микроразметкой и AJAX

    Посмотреть

    Как создать компонент в Битрикс 1С, который изменяет цену на китайские юани

    Посмотреть

    🎯 Кейс Павлов Студио: как мы внедрили Яндекс SmartCaptcha для защиты всех форм сайта (включая Bitrix)

    Посмотреть

    Разработка онлайн-калькулятора для товаров на сайте wp

    Посмотреть

    Обновление сайта с битрикс 1с с версии php 5.6 до 8.2

    Посмотреть

    Разработка сервиса для сбора информации из соц.сети «Вконтате»

    Посмотреть

    Разработка мега-меню для сайта на wordpress https://doma-penoblok.ru/

    Посмотреть

    Разработка и сопровождение сайта  https://aaa-sitrak.ru/ с последующей интеграцией на 1с-битрикс

    Посмотреть

    Разработка интернет-магазина https://sklad38.ru/ на битрикс 1с

    Посмотреть

    Доработка сайта https://tochka-kontakta.ru/ для организации «Точка Контакта»

    Добро пожаловать в WordPress. Это ваша первая запись. Отредактируйте или удалите ее, затем начинайте создавать!

    Посмотреть
    Max Messenger