oleksite.ru
9999 секретов компьютера и интернета
Главное меню
Перемещение между страницами
Как быстро удалить Без рубрики в записях WordPress
Вообще, речь пойдет не об удалении рубрики Без рубрики, а отключения этой рубрики для статей. Дело было так: с помощью экспорта-импорта записей и всего остального в WordPress перенесён контент на другой сайт, и оказалось, что все статьи, кроме своей указанной рубрики, были добавлены еще в рубрику нового сайта Без рубрики. Мне это совсем не нужно.
Можно редактировать записи по одной, удаляя ненужную рубрику, можно использовать плагины (например, отличный плагин Simple Tags), можно редактировать записи группами. Но в первом и последнем случае в новых версиях WordPress что-то глючит и надо редактировать дважды, чтобы избавиться от Без рубрики, а с плагинами всё происходит быстрее, чем редактирование каждой записи, но. недостаточно быстро.
Как быстро удалить записи из рубрики Без рубрики?
Обычно быстрее всего управление контентом WordPress происходит через SQL-запросы к базе данных (БД) или же с помощью каких-то прямых манипуляций с таблицами БД в панели MySQL на хостинге. Что я сейчас и сделаю.
На картинке 1 показано, что для каждой записи указаны и нужные рубрики-категории, и ненужная mdash; автоматически добавленная mdash; рубрика Разное (здесь у меня уже переименованная mdash; Без рубрики, что смысла не меняет).
Картинка 1: рубрика Разное (Без рубрики) добавилась ко всем перенесенным записям
Поэтому идём в MySQL и – важно! – на всякий случай сохраняем БД, чтобы потом не было мучительно больно, если что-то пойдет не так. Хотя нормальные хостеры, конечно, сохраняют бэкапы, из которых всегда можно восстановиться (откатиться) до предыдущего состояния базы данных и вообще сайта.
В базе данных сайта ищем таблицу term_relationships (она занимается тем, что указывает связи между элементами сайта: постами, страницами, рубриками, метками и т.д.).
Примечание: Запросы, связанные с таксономией, новичкам типа меня иногда сложно составлять, поэтому сначала а) просто удалим ненужные строки из таблицы вручную, а потом посмотрим, как это сделать б) с помощью SQL-запроса к базе данных.
Удаление строк из таблицы базы данных
Рубрика Без рубрики (или у меня – Разное) обычно имеет ID = 1, но вы можете проверить это, посмотрев в другой таблице terms – рис. 2.
Рис. 2: Таблица wp_terms с идентификатором и именем категорий и других элементов сайта на WordPress
В таблице wp_term_relationships отсортируем колонку term_taxonomy_id, т.е. отсортируем элементы по возрастанию (нажмите на заголовок колонки), чтобы вначале оказались элементы, которые относятся к ID = 1, следовательно, относятся к рубрике Без рубрики (у меня, напоминаю, это – Разное).
В колонке object_id (см. рис. 3) будут указаны идентификаторы элементов – статей и т.п., которые отнесены (связаны) с элементом в следующей колонке. Сейчас будет понятнее.
Рис. 3: Отсортированные элементы с ID = 1
Теперь просто удаляем все строки, в которых term_taxonomy_id равно единице. Это не удалит сами статьи, а только их связь с соответствующей рубрикой, ID которой равен единице. При этом статьи, для которых была указана ТОЛЬКО рубрика Без рубрики (Разное), не будут отнесены ни к одной категории!
(Статья останется без рубрики, если она была только в категории Без рубрики и больше ни в какой. Иначе, Без рубрики или Разное отключится для них, а ко второй своей категории статья останется прикрепленной.)
Чтобы удалить группу строк, выделите их и внизу выберите действие (рис. 4).
Рис. 4: Отметить все и Удалить в таблице MySQL
Будьте внимательны, чтобы не удалить лишние строки, которые не связаны с первой категорией!
А теперь, как и обещалось, посмотрим второй вариант удаления ненужных связей таксономии WordPress.
Удаление строк из таблицы базы данных c помощью SQL-запроса
У меня было всего 92 записи, поэтому и вручную несложно было удалить строки. Но если записей много, то проще, конечно, удалить строки из таблицы с помощью запроса, который проверяет определенное условие (у нас – если ID элемента равен единице).
Запрос будет примерно таким:
DELETE FROM wp_term_relationships WHERE term_taxonomy_id = #39;1#39;
Примерно, потому что у меня, например, стандартный префикс wp_ изменен на другой.
Что происходит во время этого SQL-запроса? Команда удаляет (delete) связи статей из таблицы term_relationships, открепляет элементы от рубрики, указанной в таблице term_taxonomy_id под номером 1.
Этот способ, конечно, более практичный и выполняется намного быстрее.
Теперь смотрим статьи на сайте (рис. 5): те же самые статьи, которые были на верхнем скриншоте, теперь избавились от ненужной рубрики.
Рис. 5: статьи без категории Разное (стандартная mdash; Без рубрики).
Кстати, на странице Рубрики админ-панели WordPress напротив Разное у меня так и осталось число статей 92. Но если нажать на них, то видно, что в категории ничего нет:
Вот и всё, что надо было сделать. Теперь для перенесенных с другого сайта WordPress статей не указана ненужная рубрика по умолчанию Без рубрики.
Самое интересное в блоге
Сохранение фото из MMS на телефоне Android.
Сохранение файлов на Яндекс Диск и на свой компьют.
Похожие статьи:
Перемещение между страницами
One thought on ldquo; Как быстро удалить Без рубрики в записях WordPress rdquo;
- Игорь написал:
Спасибо бро! Очень помогло мне.
Добавить комментарий Отменить ответ
Популярное
Обновления
Обсуждения
- Игорь к записи Как быстро удалить Без рубрики в записях WordPress
- Александр к записи Откуда столько посетителей набежало! Рекламные сайты
- Александр к записи Отличается ли тИЦ сайта на http и https
- Александр к записи Кто расскажет, как увеличить посещаемость сайта?
Метки
copy; 2013–2017 oleksite.ru — 9999 секретов компьютера и интернета
Страница сгенерирована за 0,523 сек [всего запросов — 155]