single - wordpress taxonomy template
¿Cómo elimino una taxonomía de Wordpress? (7)
Úselo en la inserción de gancho ''admin_init'' no ''init''
function unregister_taxonomy(){
register_taxonomy(''post_tag'', array());
}
add_action(''admin_init'', ''unregister_taxonomy'');
Estoy creando diferentes taxonomías y tipos de publicaciones personalizadas y quiero eliminar la taxonomía ''Publicar etiquetas'' del tipo de publicación ''Publicaciones'' predeterminado. ¿Cómo voy a hacer esto?
Gracias.
Donde dice '' taxonomy_to_remove
'' es donde ingresará la taxonomía que desea eliminar. Por ejemplo, puede reemplazarlo por el existente, post_tag
o category
.
add_action( ''init'', ''unregister_taxonomy'');
function unregister_taxonomy(){
global $wp_taxonomies;
$taxonomy = ''taxonomy_to_remove'';
if ( taxonomy_exists( $taxonomy))
unset( $wp_taxonomies[$taxonomy]);
}
Hay una nueva función para eliminar la taxonomía de WordPress.
Use unregister_taxonomy( string $taxonomy ) function
Ver detalles: https://developer.wordpress.org/reference/functions/unregister_taxonomy/
Sugiero que no te metas con el mundo real. Es más seguro simplemente cancelar el registro de la taxonomía del tipo de publicación: register_taxonomy se usa tanto para la creación como para la modificación.
function ev_unregister_taxonomy(){
register_taxonomy(''post_tag'', array());
}
add_action(''init'', ''ev_unregister_taxonomy'');
Para eliminar la entrada del menú de la barra lateral:
// Remove menu
function remove_menus(){
remove_menu_page(''edit-tags.php?taxonomy=post_tag''); // Post tags
}
add_action( ''admin_menu'', ''remove_menus'' );
Tal vez un método más técnicamente correcto sería usar unregister_taxonomy_for_object_type
add_action( ''init'', ''unregister_tags'' );
function unregister_tags() {
unregister_taxonomy_for_object_type( ''post_tag'', ''post'' );
}
Total anular el registro y eliminar (mínimo PHP versión 5.4!)
add_action(''init'', function(){
global $wp_taxonomies;
unregister_taxonomy_for_object_type( ''category'', ''post'' );
unregister_taxonomy_for_object_type( ''post_tag'', ''post'' );
if ( taxonomy_exists( ''category''))
unset( $wp_taxonomies[''category'']);
if ( taxonomy_exists( ''post_tag''))
unset( $wp_taxonomies[''post_tag'']);
unregister_taxonomy(''category'');
unregister_taxonomy(''post_tag'');
});
add_action(''admin_menu'', ''remove_menu_items''); function remove_menu_items() { remove_submenu_page(''edit.php'',''edit-tags.php?taxonomy=post_tag''); }