DELETE FROM wp_terms WHERE term_id IN (SELECT term_id FROM wp_term_taxonomy WHERE count = 0 );
DELETE FROM wp_term_taxonomy WHERE term_id not IN (SELECT term_id FROM wp_terms);
DELETE FROM wp_term_relationships WHERE term_taxonomy_id not IN (SELECT term_taxonomy_id FROM wp_term_taxonomy);
вот код, который я употребил
вот код, который я употребил
Уж сколько раз твердили миру — не лазьте в базу SQLем..
В ВП на всё есть функции, апи и тысячи плагинов.
..Для удаления в том числе.
Восстанавливайте из бекапов и удаляйте плагином.
И никогда, НИКОГДА не трогайте базу руками!
так значит навсегда пропали они?
Модератор
Yui
(@fierevere)
永子
юного джедая бэкап спасет 🙂
бекапа нету… есть старый очень бекап но все мои статьи пропадут
бекапа нету… есть старый очень бекап но все мои статьи пропадут
Я Вам рекомендую сделать экспорт контента того что есть и на тестовом домене сделать сайт с нуля, импортировав контент. После перенести на рабочий домен с пом плагинов миграции.
бекап текущего состояния тоже не помешает сделать.
Модератор
Yuri
(@yube)
есть старый очень бекап но все мои статьи пропадут
При наличии в этом старом бэкапе исчезнувших категорий и некоторых навыков и понимания «кто на ком стоял» можно из старого бэкапа вынуть только ту информацию, которая касается исчезнувших рубрик, и внести в базу. Поскольку WP использует таблицы с автоинкрементными суррогатными ключами, то «посадочные места» удаленных записей в таблицах не заняты, а потому эти записи легко могут быть восстановлены, не нарушив целостность и актуальность базы.
p.s. Админы делятся на тех, кто уже делает бэкапы, и тех, кому до сих пор везло.
При наличии в этом старом бэкапе исчезнувших категорий и некоторых навыков и понимания «кто на ком стоял» можно из старого бэкапа вынуть только ту информацию, которая касается исчезнувших рубрик, и внести в базу. Поскольку WP использует таблицы с автоинкрементными суррогатными ключами, то «посадочные места» удаленных записей в таблицах не заняты, а потому эти записи легко могут быть восстановлены, не нарушив целостность и актуальность базы.
можете подсказать как такое сделать? у меня была главная категория назовем ее — «Категория1» и у нее были две под категории «Категория2» и «Категория3», обе под категории наполнялись контентом ну а сам Родитель свою информацию не имел, только показывал контент добавленный в под категориях, после того как я ввел в пхпмайадмин выше упомянутую команду исчезла Категория1 вообще, и за собой как-то повела и обе под категории, хотя они прекрасно работают и контент в них не стерся, в них я могу добавить новый материал, но я не вижу их в админке
Модератор
Yuri
(@yube)
можете подсказать как такое сделать?
Почти так же, как удаляли, только в обратном порядке. Поднимаете бэкап на другом сервере или просто в другой базе. Выполняете первую часть запроса, заменив DELETE на SELECT
SELECT * FROM wp_terms WHERE term_id IN (SELECT term_id FROM wp_term_taxonomy WHERE count = 0 );
Получаете записи (строки таблицы) (видимо, одну, так как Вы описали ситуацию), которые удалены в рабочей базе. Их (ее) надо внести в рабочую. Затем по полученным term_id/ term_taxonomy_id в двух других таблицах находите соотв. записи. Их тоже надо перенести в рабочую. Все довольно просто.
p.s. поскольку речь о БД, то термин «запись» относится к таблицам базы, а не к сущности WP.
-
Ответ изменён 4 года, 10 месяцев назад пользователем
Yuri.
нашел более легкий способ, так как мне Категория1 более не нужна, я нашел обе те под категории и Родителя указал 0 и они отобразились в тот же миг, спасибо всем
можете подсказать, а Pingback -и удалять или оставлять?