¿Alguien sabe de una forma de cancelar el registro de tipos de publicaciones personalizadas?
¿Hay un equivalente a register_post_type()
?
¿Alguien sabe de una forma de cancelar el registro de tipos de publicaciones personalizadas?
¿Hay un equivalente a register_post_type()
?
unregister_post_type
. Ver Anular el registro de un tipo de publicación utilizando unregister_post_typeRespuestas:
Actualmente no existe una función para cancelar el registro de un tipo de publicación, sin embargo, el proceso es bastante simple.
Andrew Nacin proporcionó un código en trac, que se encuentra aquí y se publica a continuación.
Anular el registro de un tipo de publicación incorporado tendrá efectos desconocidos en WordPress, así que hágalo bajo su propio riesgo. Anular el registro de un tipo de publicación personalizado debería ser perfectamente seguro, pero naturalmente no haría limpieza en su instalación (es decir, anular el registro de un tipo de publicación no equivale a la eliminación de datos de la base de datos).
Puedo imaginar algunos escenarios en los que esto podría ser necesario, pero el enfoque más sensato (donde sea posible) sería simplemente no registrar el tipo de publicación en primer lugar si no se desea.
fuente
register_post_type()
carga de cada página (init
) es probablemente la estructura de enlace permanente (actualícela y desaparecerá) y las publicaciones en la base de datos, que puede eliminar al hacerloDELETE FROM wp_posts WHERE post_type = '[your custom post type]'
.A partir de WordPress 4.5 hay una función para hacer eso
unregister_post_type
,. Ejemplo:-fuente
unregister_post_type()
no elimina nada de la base de datos. Solo evita que se registre el tipo de publicación.Esto funcionó para mí, como dijo Rarst usando remove_action () si es posible.
fuente
Como señaló t31os, es fácil eliminar el tipo de publicación de la variable global.
Pero si te refieres a un tipo de publicación no central, entonces sería mejor buscar código que lo registre y desenganchar
remove_action()
(si es un código decente, debe engancharse en lugar de ejecutarse directamente).fuente
register_post_type()
no es una función que se presta muy bien al enganche. La forma normal de registrar un tipo de publicación es ejecutar la función directamente en una función enganchada en init. Eliminar esa acción puede tener efectos no deseados, ya que a menudo habrá otra funcionalidad eliminada con esa función.En WordPress versión 4.5 y superior, proporcionan una función para eliminar el tipo de publicación (unregister_post_type). Ejemplo
Funcionará definitivamente.
fuente