template single page front blog wordpress wordpress-theming taxonomy

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]); }



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''); }