Как перенести комментарии в WordPress

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

Как перенести комментарии, пошагово

Сам по себе процесс добавления комментариев на страницу или в запись WordPress не особо сложный. Чтобы добавить комментарии в WordPress:

Проверьте установку флажка «разрешить комментарии», если вы хотите добавить их на страницу

В новых версиях WordPress, оснащенных редактором Gutenberg, флажок расположен сбоку:

как добавить комментарии на страницу wordpress

Проверьте установку функции comments_template(); в шаблоне страницы

Функция comments_template() по умолчанию подгружает форму комментариев, расположенную в файле comments.php, на вашу страницу. Можно поставить в качестве аргумента ссылку на свой файл с шаблоном комментариев.

В итоге, базовое подключение шаблона комментариев в коде страницы вашего сайта будет выглядеть так:

 
<?php 
if ( comments_open() || get_comments_number() ) :
comments_template();
endif; 
?>

Экспорт комментариев с самописного проекта

При переносе данных со стороннего сайта на WordPress процесс добавления комментариев (если они есть и если перенос их заранее согласован с заказчиком) — уже более трудоемкая задача. Можно конечно вносить их вручную, но это же не наш метод! Есть несколько более интересных способов решения задачи.

Как перенести комментарии на страницу WordPress с помощью плагина

В любой, более-менее нормальной CMS комментарии заносятся в базу данных, что позволяет выгрузить дамп таблицы с комментариями через любую систему управления MySQL сервером, например phpmyadmin:

как добавить комментарии на страницу wordpress
как добавить комментарии на страницу wordpress

При экспорте данных я рекомендую выбирать формат CSV, т.к. именно он проще всего для дальнейшего редактирования и работы с плагинами.

Затем можно добавить комментарии на страницу WordPress с помощью плагина WordPress Comments Import/Export, позволяющего экспортировать данные из CSV файла.

Плагин WordPress Comments Import/Export

Перенос комментариев в WordPress с помощью правки SQL базы данных

Если перенос комментариев на проект WordPress с помощью плагина по какой-то причине вас не устраивает, можно пойти другим путем и редактировать таблицу с комментариями напрямую.

Для этого понадобится административный доступ к хостингу и установленный phpmyadmin для более удобной работы.

Сперва вам надо будет зайти в базу данных вашего сайта на WordPress и найти таблицу wp_comments:

Таблица wp_comments состоит из следующих столбцов:

  • comment_ID — id комментария. Ставится автоматически.
  • comment_post_ID — id поста или страницы для комментария. Можно посмотреть в админке WordPress
  • comment_author — имя автора
  • comment_author_email — электронная почта автора
  • comment_author_URL — URL сайта автора комментария. Можно не заполнять.
  • comment_author_IP — IP адрес автора комментария. Можно не заполнять.
  • comment_date — дата и время оставленного комментария
  • comment_date_gmt — дата и время оставленного комментария по Гринвичу (GMT0)
  • comment_content — собственно, текст комментария
  • comment_karma — выставьте по умолчанию 0
  • comment_approved — выставьте по умолчанию 1, это означает, что комментарий одобрен
  • comment_agent — User Agent браузера, откуда выставлен комментарий. Можно не заполнять.
  • comment_type — тип комментария. Можно не заполнять.
  • comment_parent — родитель комментария. Заполняется только если комментарий является ответом на другой. Сюда ставится ID из первого столбца.
  • user_id — id пользователя, оставившего комментарий. Поставьте 0 при массовом экспорте.

Второй шаг — добавление комментариев. К сожалению, удобство phpmyadmin при работе с большим количеством данных оставляет желать лучшего, поэтому я составил текст запроса на массовое добавление комментариев для удобства:

INSERT INTO wp_comments (comment_ID, comment_post_ID, comment_author, comment_author_email, comment_author_url, comment_author_IP, comment_date, comment_date_gmt, comment_content, comment_karma, comment_approved, comment_agent, comment_type, comment_parent, user_id) VALUES
(NULL, 'id', 'name', 'email', '', '', '2019-01-16 0:00:00', '2019-01-16 0:00:00','comment_text', '0', '1', '', '', '0', '0')

Последнюю часть в скобках можно размножить неограниченное количество раз и скопировать данные из вашего CSV файла.

Третий шаг — добавление комментариев в таблицу wp_comments. Для этого нужно открыть вкладку SQL в phpmyadmin (разумеется, выбрав таблицу wp_comments во вкладке слева)


Откройте вкладку SQL

Затем введите запрос с комментариями в поле и нажмите кнопку «Вперед». Если в синтаксисе запроса не было ошибок, комментарии будут интегрированы в таблицу.

как добавить комментарии на страницу wordpress

Вот так можно добавить комментарии на страницу WordPress при переносе с другого сайта.

С вами был webmaster_zotov, до новых встреч!