Сталкивались ли вы с некорректным отображением числа комментариев после импорта WordPress? Импорт WordPress сайта с помощью встроенного инструмента импорта может привести к тому, что счетчик комментариев собьется. Конечно, все комментарии будут импортированы и видны в области администратора, однако ваши записи будут отображать некорректное число комментариев на сайте. Та же самая ошибка импорта может коснуться числа рубрик и числа произвольных таксономий. В данной статье мы покажем вам, как исправить счетчик рубрик и комментариев после импорта WordPress.
Как вы можете видеть на скриншоте выше, после импорта ваш счетчик комментариев и счетчик рубрик выдает 0 вместо реального числа. Давайте посмотрим на то, как исправить это.
Для начала вам нужно будет создать полный бэкап вашего сайта. Делать это следует всякий раз, когда вы хотите внести крупные изменения на свой сайт. Мы рекомендуем использовать для этого BackupBuddy, один из самых универсальных плагинов для создания резервных копий.
После того как вы сделаете бэкап, вам нужно будет перейти к следующему шагу.
Открываем текстовый редактор, такой как Notepad++, и вставляем в него следующий код:
<?php include("wp-config.php"); if (!mysql_connect(DB_HOST, DB_USER, DB_PASSWORD)) { die('Could not connect: ' . mysql_error()); } if (!mysql_select_db(DB_NAME)) { die('Could not connect: ' . mysql_error()); } $result = mysql_query("SELECT term_taxonomy_id FROM ".$table_prefix."term_taxonomy"); while ($row = mysql_fetch_array($result)) { $term_taxonomy_id = $row['term_taxonomy_id']; echo "term_taxonomy_id: ".$term_taxonomy_id." count = "; $countresult = mysql_query("SELECT count(*) FROM ".$table_prefix."term_relationships WHERE term_taxonomy_id = '$term_taxonomy_id'"); $countarray = mysql_fetch_array($countresult); $count = $countarray[0]; echo $count."<br />"; mysql_query("UPDATE ".$table_prefix."term_taxonomy SET count = '$count' WHERE term_taxonomy_id = '$term_taxonomy_id'"); } $result = mysql_query("SELECT ID FROM ".$table_prefix."posts"); while ($row = mysql_fetch_array($result)) { $post_id = $row['ID']; echo "post_id: ".$post_id." count = "; $countresult = mysql_query("SELECT count(*) FROM ".$table_prefix."comments WHERE comment_post_ID = '$post_id' AND comment_approved = 1"); $countarray = mysql_fetch_array($countresult); $count = $countarray[0]; echo $count."<br />"; mysql_query("UPDATE ".$table_prefix."posts SET comment_count = '$count' WHERE ID = '$post_id'"); } ?>
Вам нужно будет заменить в коде DB_HOST, DB_USER, DB_PASSWORD на свои данные. DB_HOST обычно задается как localhost. В качестве DB_USER и DB_PASSWORD вводится имя пользователя базы данных и пароль.
Вы можете найти эту информацию, зайдя в cPanel своего хостинга и заглянув в файл wp-config.php с помощью файлового менеджера.
Как только вы замените эту информацию, сохраните файл как comments-fix.php на вашем рабочем столе.
Теперь вам нужно будет загрузить этот файл в корневую директорию вашего сайта. Вы можете сделать это с помощью FTP-клиента или через файловый менеджер в панели управления cPanel.
После загрузки файла на ваш сайт вам нужно будет открыть браузер и перейти к этому файлу:
http://example.com/comments-fix.php
Вместо example.com введите адрес своего сайта.
Открытие файла в браузере инициирует выполнение скрипта, который пробежится по вашим записям, рубрикам, меткам, комментариям и т.д. и обновит счетчик.
Важно: после того как вы исправите счетчик комментариев в WordPress, обязательно удалите файл comments-fix.php с вашего сервера.
Источник: wpbeginner.com