it-swarm.xyz

Переименование пользовательских типов сообщений и таксономий

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

Как лучше всего переименовать пользовательский тип записи? Как насчет переименования таксономии?

31
Derek Perkins

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>';

Это должно заботиться обо всех областях базы данных. Просто не забудьте сопоставить новые имена в коде, где зарегистрированы типы сообщений или таксономии. Насколько я знаю, это еще не обрабатывается ни в одном плагине.

46
John P Bloch

Привет @Derek Perkins:

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

Можете ли вы рассказать нам, какие плагины вы используете?

6
MikeSchinkel

Если вы не хотите выполнять SQL-запросы самостоятельно, есть несколько плагинов, которые вы можете использовать:

Я успешно использовал Конвертировать типы сообщений для массового изменения сообщений.

Для конвертации отдельных постов лучше использовать Переключатель типов постов .

4
Adam Dempsey