Blog sobre desarrollo WordPress en Español Desarrollo WordPress en Español
custom post types

Cómo cambiar el tipo de Custom Post Type en WordPress

En WordPress podemos crear diferentes tipos de contenido, los Custom Post Type.

A la hora de registrarlos utilizamos la función register_post_type( $post_type, $args ); El primero de los dos parámetros que recibe es el nombre o identificador que recibirá nuestro custom post type. Acepta un máximo de 20 caracteres, y no puede contener ni mayúsculas ni espacios.

Una vez definido, nos aparecerá en el menú de nuestro dashboard y podremos empezar a generar contenido.

En alguna ocasión podemos querer cambiar el nombre de este post type ya registrado, bien porque se nos ha ocurrido otro que encaja mejor, porque te lo ha pedido el cliente, o que quieres fusionar dos CPTs en uno sólo.

Si simplemente modificamos el nombre en el archivo PHP donde tenemos registrado el CPT en la función register_post_type(), y tenemos ya contenido creado, lo perderemos. O mejor dicho, lo perderemos de vista, ya que seguirá en base de datos en la tabla posts, pero registrado con el nombre anterior.

 

Actualizando el dato post_type en base de datos manualmente

Vamos a actualizar en base de datos el nombre del post_type que queremos cambiar. Podemos hacerlo mediante phpMyAdmin o ejecutando una consulta a base de datos directamente desde WP-CLI.

Imagina que tienes un custom post type llamado “trabajos”, y lo quieres cambiar por “portfolio”. Además de cambiar ese nombre en la función que registra el CPT, la consulta que debes ejecutar para no perder la información ya creada es la siguiente:

También podemos ejecutar esta consulta con WP-CLI:

Saber cómo modificar el tipo de contenido puede ser muy útil si queremos fusionar dos CPTs en uno sólo, o por ejemplo si queremos convertir nuestras entradas en páginas:

NOTA

Es importante que antes de realizar cualquier modificación que implique consultas y modificaciones directas en base de datos, realices una copia de seguridad.

Además, recomiendo encarecidamente leer el comentario de Pablo Poveda donde analiza muchas más casuísticas a tener en cuenta, y que pueden afectar si cambias el nombre de un CPT.

Puede que también te interese

Mejora la puntuación de Google PageSpeed Insights: Eliminar el JavaScript que bloquea la visualización del contenido de la mitad superior de la página
Mejora la puntuación de Google PageSpeed Insights: Eliminar el JavaScript que bloquea la visualización del contenido de la mitad superior de la página
1. Optimizar imágenes 2. Minificar CSS y JS 3. Especificar caché de navegador 4. Habilita la compresión 5. Reducir el tiempo de respuesta del servidor…
Cómo añadir un enlace para los ajustes en el listado de plugins
Cómo añadir un enlace para los ajustes en el listado de plugins
Si estas desarrollando un plugin o vas a desarrollarlo, puede resultarte de utilidad saber cómo añadir un enlace para los ajustes de tu plugin en el…
Evitar la enumeración de usuarios en WordPress parte 2
Evitar la enumeración de usuarios en WordPress parte 2
En el artículo anterior veíamos lo que era la enumeración de usuarios y cómo un atacante malintencionado podría conseguir nuestro nombre de usuario a través…
Cómo solucionar el error interno del servidor en WordPress
Cómo solucionar el error interno del servidor en WordPress
Otro de los errores más comunes o que con más frecuencia nos podemos encontrar, es el error interno del servidor ó error 500. Se identifica claramente…