Я начал разработку сайта с более чем дюжиной пользовательских типов постов. Я хотел бы переименовать некоторые из них, не только отображаемое значение, но и собственно имя настраиваемого типа записи. Однако меня беспокоит, что, просто запустив запрос на обновление SQL, я упущу некоторые места, где мне нужно что-то изменить или перезаписать часть сериализованных данных. Я уже ввел более 3000 наименований, поэтому я не могу просто перезапустить с чистой базой данных.
Как лучше всего переименовать пользовательский тип записи? Как насчет переименования таксономии?
SQL-запрос для переименования постов:
UPDATE `wp_posts` SET `post_type` = '<new post type name>' WHERE `post_type` = '<old post type name>';
SQL-запрос для переименования таксономии:
UPDATE `wp_term_taxonomy` SET `taxonomy` = '<new taxonomy name>' WHERE `taxonomy` = '<old taxonomy name>';
Это должно заботиться обо всех областях базы данных. Просто не забудьте сопоставить новые имена в коде, где зарегистрированы типы сообщений или таксономии. Насколько я знаю, это еще не обрабатывается ни в одном плагине.
Привет @Derek Perkins:
В целом @John P Bloch отвечает точечно на но с оговоркой . Плагины и даже пользовательские темы могут и могут хранить информацию о типах записей, и, таким образом, чтобы быть уверенным, что вы не повредите свои данные, вам нужно убедиться, что ваши плагины и темы не хранят типы сообщений или если они это делают, вы обновляете их данные. также.
Можете ли вы рассказать нам, какие плагины вы используете?
Если вы не хотите выполнять SQL-запросы самостоятельно, есть несколько плагинов, которые вы можете использовать:
Я успешно использовал Конвертировать типы сообщений для массового изменения сообщений.
Для конвертации отдельных постов лучше использовать Переключатель типов постов .