Renombrar Custom Post Types y Taxonomías
Comencé a desarrollar un sitio con más de una docena de custom post types. Me gustaría renombrar algunos de ellos, no solo el valor de visualización, sino el nombre real del custom post type. Sin embargo, me preocupa que al ejecutar simplemente una consulta de actualización SQL pueda perder algunos lugares donde necesito cambiar cosas o sobrescribir parte de los datos serializados. Ya he ingresado más de 3,000 elementos, por lo que no puedo simplemente reiniciar con una base de datos limpia.
¿Cuál sería la mejor manera de renombrar un custom post type? ¿Qué hay sobre renombrar una taxonomía?

Consulta SQL para renombrar los posts:
UPDATE `wp_posts` SET `post_type` = '<nuevo nombre del tipo de post>' WHERE `post_type` = '<nombre anterior del tipo de post>';
Consulta SQL para renombrar la taxonomía:
UPDATE `wp_term_taxonomy` SET `taxonomy` = '<nuevo nombre de la taxonomía>' WHERE `taxonomy` = '<nombre anterior de la taxonomía>';
Eso debería encargarse de todas las áreas de la base de datos. Solo recuerda hacer coincidir los nuevos nombres en el código donde se registran los tipos de post o taxonomías. Hasta donde yo sé, esto no está manejado por ningún plugin todavía.

Excelente respuesta, exactamente lo que necesitaba. Aquí un consejo por si otros tienen el mismo problema que yo: Después de ejecutar la consulta y actualizar mi código, las cosas básicamente funcionaban pero cuando intenté ir a la página de un elemento de contenido individual me apareció un error 404. Creo que había que reiniciar algún caché de enlaces permanentes; fui a Herramientas > Enlaces permanentes y hice clic en Guardar, luego las páginas detalladas empezaron a funcionar.

Cuando hice esto, también actualicé el campo guid. Esto podría ayudar a hacer innecesario regenerar los enlaces permanentes como mencionó @AndyGiesler. Solo incluye lo siguiente en tu sentencia UPDATE: guid=REPLACE(guid, '<old post type name>', '<new post type name>')

Solo para añadir un poco más de información al comentario de rinogo, esta es una forma un poco más segura de actualizar el guid: UPDATE wp_posts SET guid = REPLACE (guid, 'post_type=<old post type name>', 'post_type=<new post type name>');

Hola @Derek Perkins:
En general, la respuesta de @John P Bloch es acertada pero con una salvedad. Los plugins e incluso los temas personalizados pueden y podrían almacenar información de tipos de contenido (post types), por lo que para asegurarte de no corromper tus datos, necesitas verificar que tus plugins y temas no almacenen tipos de contenido o, si lo hacen, que actualices sus datos también.
¿Puedes decirnos qué plugins estás utilizando?

Ese es un buen punto. Estoy construyendo mi tema personalizado, así que definitivamente tendré que revisar y modificar mi código. Sin embargo, no tengo ningún plugin que esté almacenando información de tipos de contenido personalizados.

Si no quieres tener que realizar las consultas SQL manualmente, hay un par de plugins que puedes usar:
He utilizado con éxito Convert Post Types para cambiar masivamente los tipos de publicación.
Para convertir publicaciones individuales, entonces Post Type Switcher es una mejor opción.
