WordPress ошибка wp_termmeta doesn’t exist

Раздел: Советы
Написано: 25.08.2016
Автор: Antonio

Смотрел логи ошибок вебсервера и заметил ошибку wp_termmeta doesn’t exist, т.е. таблица wp_termmeta не существует.

wordpress 4.4

Решил, что хорошо бы исправить, чтобы лишний раз не писало об ошибке в файл, да и в целом должно быть правильно.


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

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

Для чего таблица wp_termmeta?
wp_termmeta содержит дополнительные данные для элементов таксономии (с версии WordPress 4.4)

Если таблицы нет, то можно ее создать.

Это можно сделать в phpMyAdmin или например, в adminer, можно вручную описать столбцы их типы, размерность, а можно просто выполнить SQL код.

CREATE TABLE IF NOT EXISTS wp_termmeta (
meta_id BIGINT(20) UNSIGNED NOT NULL,
term_id BIGINT(20) UNSIGNED NOT NULL DEFAULT '0',
meta_key VARCHAR(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
meta_value longtext COLLATE utf8mb4_unicode_ci
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

У меня добавление выглядело вот так.

add termmeta table

Применяем SQL код, таблица успешно создана, ошибок в логах больше нет.
Отлично.

Поделиться с друзьями или в соц.сетях (спасибо)
Ещё похожие заметки:

2 комментария

Альберт Аухадуллин
Ноя 12, 2017 19:08

Спасибо, помогли! Ну только я выполнил SQL код:

CREATE TABLE `wp_termmeta` (
`meta_id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
`term_id` bigint(20) unsigned NOT NULL DEFAULT ‘0’,
`meta_key` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`meta_value` longtext COLLATE utf8mb4_unicode_ci,
PRIMARY KEY (`meta_id`),
KEY `term_id` (`term_id`),
KEY `meta_key` (`meta_key`(191))
) ENGINE=InnoDB AUTO_INCREMENT=3255 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

И если нету в базе таблицы wp_commentmeta тогда выполните SQL код:

CREATE TABLE wp_commentmeta (
meta_id bigint(20) unsigned NOT NULL auto_increment,
comment_id bigint(20) unsigned NOT NULL default ‘0’,
meta_key varchar(255) default NULL,
meta_value longtext,
PRIMARY KEY (meta_id),
KEY comment_id (comment_id),
KEY meta_key (meta_key)
)

 
Денис
Мар 21, 2018 18:00

Спасибо тебе добрый человек, тоже видел и всё руки не доходили убрать. Странно то, что на другом сайте такой ошибки почему-то нет.

 

Написать

Копирование информации с сайта возможно только с указанием прямой ссылки - https://nemcd.com