Переименование Пользовательских Типов Записей и Таксономий
Я начал разрабатывать сайт с более чем десятком пользовательских типов записей. Я хотел бы переименовать некоторые из них, не только отображаемое значение, но и фактическое название пользовательского типа записи. Однако я беспокоюсь, что просто выполнив SQL-запрос на обновление, я пропущу некоторые места, где нужно внести изменения, или перезапишу часть сериализованных данных. Я уже внес более 3000 элементов, поэтому я не могу просто начать заново с чистой базой данных.
Какой будет лучший способ переименовать пользовательский тип записи? Как насчет переименования таксономии?

SQL запрос для переименования записей:
UPDATE `wp_posts` SET `post_type` = '<новое имя типа записи>' WHERE `post_type` = '<старое имя типа записи>';
SQL запрос для переименования таксономии:
UPDATE `wp_term_taxonomy` SET `taxonomy` = '<новое имя таксономии>' WHERE `taxonomy` = '<старое имя таксономии>';
Эти запросы должны охватить все необходимые области базы данных. Не забудьте также обновить новые имена в коде, где регистрируются типы записей или таксономии. Насколько мне известно, пока что это не реализовано ни в одном плагине.

Отличный ответ, именно то, что мне было нужно. Вот совет на случай, если у других возникнет та же проблема, что и у меня: после выполнения запроса и обновления кода всё вроде бы заработало, но при попытке перейти на страницу отдельного элемента контента я получал ошибку 404. Думаю, нужно было сбросить кеш постоянных ссылок; я зашёл в Инструменты > Постоянные ссылки и нажал Сохранить, после чего страницы с деталями начали работать.

Когда я это делал, я также обновил поле guid. Это может помочь избежать необходимости пересоздавать постоянные ссылки, как упомянул @AndyGiesler. Просто добавьте следующее в ваш UPDATE запрос: guid=REPLACE(guid, '<old post type name>', '<new post type name>')

Хочу добавить немного информации к комментарию rinogo, вот более безопасный способ обновления guid: UPDATE wp_posts SET guid = REPLACE (guid, 'post_type=<old post type name>', 'post_type=<new post type name>');

Привет, @Derek Perkins:
В целом ответ @John P Bloch абсолютно верен, но с одной оговоркой. Плагины и даже кастомные темы могут хранить информацию о типах записей, поэтому чтобы быть уверенным, что вы не повредите данные, нужно убедиться, что ваши плагины и темы не сохраняют типы записей. Или если сохраняют, то вам нужно обновить их данные тоже.
Не могли бы вы сказать, какие плагины вы используете?

Это хорошее замечание. Я создаю свою тему с нуля, так что мне определенно придется переработать свой код. Однако у меня нет плагинов, которые хранят информацию о пользовательских типах записей.

Если вы не хотите выполнять SQL-запросы вручную, есть несколько плагинов, которые можно использовать:
Я успешно использовал Convert Post Types для массового изменения записей.
Для преобразования отдельных записей лучше подойдет Post Type Switcher.
