¿Se pierden los tipos de publicaciones personalizadas cuando se cambia el tema?


8

Estoy a punto de comenzar a trabajar en un tema personalizado de WordPress y quiero saber cuán cuidadoso debo ser con las publicaciones personalizadas. Supongamos que creo un tema de WordPress que registra varios tipos de publicaciones personalizadas. A mi entender, esto sucede al activar el tema.

Si tuviera que crear varias publicaciones de este tipo personalizado y luego cambiar a un tema que no tiene ese tipo de publicación personalizada, ¿habría perdido las publicaciones por completo?

¿Qué pasaría si cambiara a otro tema que tuviera el mismo tipo de publicación personalizada (si es posible), ¿seguirían existiendo?

Además, ¿qué pasa con estos mismos problemas en relación con la taxonomía personalizada? Si cambio a un tema diferente que no admite la taxonomía personalizada, se perderán los datos de la taxonomía de las publicaciones personalizadas (incluso si se guardan). ¿Seguirán existiendo los datos para la taxonomía personalizada?


1
Las publicaciones están basadas en bases de datos. Todos los datos deberían estar allí. La experiencia es que he cambiado de tema media docena de veces. Piense en un tema como una forma de ver las publicaciones.
Shawn

Si el tipo de publicación personalizado se define dentro de la carpeta del tema en sí, y decide desactivarlo, su tipo de publicación estará "oculto" hasta que reactive ese tema. El tipo de publicación seguirá estando dentro de la base de datos, aunque como dice el comentario anterior.
Howdy_McGee

"Según tengo entendido, esto sucede al activar el tema": sucede en tiempo de ejecución, es decir, cuando se ejecuta el código, que es cada carga de página.
Andrew Bartel

1
Solía ​​registrar CPT en los archivos de funciones del tema, pero he empezado a crearlos en una carpeta de plugins mu. En el caso de un cambio de tema, se deben agregar plantillas para mostrar los campos personalizados asociados con los CPT, pero los CPT permanecen visibles en el área de administración.
Ray Gulick

Respuestas:


9

No pierdes nada. Todas sus publicaciones personalizadas, taxonomías, términos y sus relaciones todavía están en la base de datos. Sin embargo, sin tenerlos registrados, no se puede acceder a los datos, como en la página de edición de WordPress o consultas personalizadas y similares.


5

Como han mencionado otras personas, si cambia de tema en el futuro, todos los datos seguirán en su base de datos pero no serán accesibles.

Por esta razón, me gusta crear un complemento de funcionalidad que incluya todos mis tipos de publicaciones personalizadas, taxonomías y códigos cortos. Incluso puede configurar un complemento de uso obligatorio que siempre está habilitado en su instalación de Wordpress. Justin Tadlock escribió un artículo sobre la creación de un complemento de funciones personalizadas que bien vale la pena leer.


4

Lo que debe hacer es crear un complemento específico del sitio o un tema secundario para su código personalizado que incluya código para registrar tipos de publicaciones y tipos de taxonomía personalizados.

Luego puede usar el código con cualquier tema principal.

Como se indicó anteriormente, no se pierde nada, ya que está todo almacenado en la base de datos, pero claramente no se mostrará en el backend de WordPress a menos que use un código con el mismo CPT y nombres de impuestos que se usaron anteriormente para registrarlos en el nuevo tema.


2

Cuando cambia el tema y el nuevo tema no tiene el mismo tipo de publicación personalizada, no se mostrará para el nuevo tema. Pero puede recuperarlo fácilmente si solo copia el código de su tema anterior para el tipo de publicación personalizado y lo pega en el nuevo archivo de funciones function.php. no se perderán los datos.

Puede haber otro problema para mostrar el tipo de publicación personalizada en el nuevo tema. Pero se garantiza que no se perderán datos.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.