Je crée différents types de publications et taxonomies personnalisées et je souhaite supprimer la taxonomie "Post Tags" du type de publication "Posts" par défaut. Comment vais-je faire cela?Comment supprimer une taxonomie de Wordpress?
Merci.
Je crée différents types de publications et taxonomies personnalisées et je souhaite supprimer la taxonomie "Post Tags" du type de publication "Posts" par défaut. Comment vais-je faire cela?Comment supprimer une taxonomie de Wordpress?
Merci.
Où il est indiqué 'taxonomy_to_remove
' est l'endroit où vous entrez la taxonomie que vous souhaitez supprimer. Par exemple, vous pouvez le remplacer par l'existant, post_tag
ou category
.
add_action('init', 'unregister_taxonomy');
function unregister_taxonomy(){
global $wp_taxonomies;
$taxonomy = 'taxonomy_to_remove';
if (taxonomy_exists($taxonomy))
unset($wp_taxonomies[$taxonomy]);
}
Je vous suggère de ne pas jouer avec le mondial actuel. Il est plus sûr de supprimer simplement la taxonomie du type de message: register_taxonomy est utilisé à la fois pour la création et la modification.
function ev_unregister_taxonomy(){
register_taxonomy('post_tag', array());
}
add_action('init', 'ev_unregister_taxonomy');
Pour supprimer l'entrée de menu de la barre latérale:
// Remove menu
function remove_menus(){
remove_menu_page('edit-tags.php?taxonomy=post_tag'); // Post tags
}
add_action('admin_menu', 'remove_menus');
A travaillé pour moi! On dirait que c'est l'impact le plus localisé. –
Cela fonctionne, mais le lien dans la barre latérale est toujours là! –
Voici comment supprimer l'entrée de menu de la barre latérale: 'function remove_menus() { remove_menu_page ('edit-tags.php? Taxonomy = post_tag'); // Post tags } add_action ('admin_menu', 'remove_menus'); ' – pixeline
utiliser dans 'admin_init' insetead crochet non 'init'
function unregister_taxonomy(){
register_taxonomy('post_tag', array());
}
add_action('admin_init', 'unregister_taxonomy');
Peut-être une méthode plus techniquement correcte serait d'utiliser unregister_taxonomy_for_object_type
add_action('init', 'unregister_tags');
function unregister_tags() {
unregister_taxonomy_for_object_type('post_tag', 'post');
}
Peut-être pas nécessaire mais vous pouvez vérifier si la taxonomie est déjà associée au type d'objet avant de le supprimer avec 'if (is_object_in_taxonomy (' post ',' post_tag ')) {...} ' – martisj
Il y a une nouvelle fonction pour supprimer la taxonomie de WordPress.
Use unregister_taxonomy(string $taxonomy) function
Voir les détails: https://developer.wordpress.org/reference/functions/unregister_taxonomy/
Ceci ne peut pas être utilisé pour les taxonomies intégrées, donc probablement ceci ne peut pas être utilisé pour' tags '? –
Pour enlever intégré dans la taxonomie comme étiquette que nous pouvons utiliser cette fonction ci-dessous: mh_unregister_tags_for_posts fonction() { de unregister_taxonomy_for_object_type ('post_tag', 'post'); } add_action ('init', 'mh_unregister_tags_for_posts'); –
add_action('admin_menu', 'remove_menu_items'); function remove_menu_items() { remove_submenu_page('edit.php','edit-tags.php?taxonomy=post_tag'); }
total désinscription et enlever
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');
});
ne répond pas à la question (version PHP 5.4 minimum!). Cela ne fait que le cacher – Jeremy