WordPress: deshabilitar etiquetas solo para publicaciones

2 minutos de lectura

avatar de usuario
lars ebert

Actualmente estoy desarrollando un tema para WordPress 3.8.1. Como mi tema no mostrará ninguna etiqueta, quiero deshabilitarlas (solo de las publicaciones, no de los tipos de publicaciones personalizadas). Pero, ¿cómo hago esto? He intentado esto, pero aparentemente, no hace nada:

register_taxonomy('post_tag', null);

Para ser claros: no solo quiero ocultar las etiquetas en los archivos de plantilla, sino que quiero deshabilitarlas por completo, por lo que en el backend, no hay un elemento de menú para las etiquetas en las publicaciones.

¿Es posible? Eso espero. ¡Gracias por tu ayuda!

Actualizar

Además, he intentado lo siguiente, sin ningún efecto:

register_taxonomy('post_tag', array());

y

global $wp_taxonomies;
$taxonomy = 'post_tag';
if(taxonomy_exists($taxonomy))
    unset($wp_taxonomies[$taxonomy]);

Ambos eliminan el cuadro de etiquetas mientras editan una publicación, ¡pero todavía hay un enlace en el menú que apunta a la lista de etiquetas!

  • ¿Para qué? ¿Por qué deshabilitar toda la funcionalidad si solo va a “no mostrarlos”?

    – Tomasz Kowalczyk

    27 de marzo de 2014 a las 15:15

  • Ver este enlace: wordpress.stackexchange.com/questions/93634/…

    – Tomasz Kowalczyk

    27 de marzo de 2014 a las 15:16

  • y esto: stackoverflow.com/questions/4249694/…

    – Tomasz Kowalczyk

    27 de marzo de 2014 a las 15:17

  • @TomaszKowalczyk Quiero deshabilitar la funcionalidad para que la interfaz sea más simple y el usuario no tenga que preguntarse por qué hay una opción para las etiquetas.

    – Lars Ebert

    27 de marzo de 2014 a las 15:23

A partir de WordPress 3.7, hay un unregister_taxonomy_for_object_type función disponible para este tipo de cosas.

En tu caso:

// Remove tags support from posts
function myprefix_unregister_tags() {
    unregister_taxonomy_for_object_type('post_tag', 'post');
}
add_action('init', 'myprefix_unregister_tags');

Ver la documentación para esta función aquí.

  • Esta es la mejor solución que he encontrado hasta ahora. Elimina el elemento del menú de administración Etiquetas, la columna Etiquetas al ver la lista de publicaciones y el metabox Etiquetas al editar una sola publicación.

    – jg314

    21 de agosto de 2017 a las 20:29

Pegue este código en su functions.php

add_action( 'admin_menu', 'myprefix_remove_meta_box');
function myprefix_remove_meta_box(){
   remove_meta_box( 'tagsdiv-post_tag','post','normal' );
}

tags meta box tiene una clase de tagsdiv-post_tagpor lo que esto eliminará el tags meta caja

O

add_action('init', 'remove_tags');
function remove_tags(){
    register_taxonomy('post_tag', array());
}

si quieres eliminarlo por completo

  • Sí, lo elimina, ¡pero el enlace en la barra lateral del menú izquierdo todavía está allí!

    – Lars Ebert

    27 de marzo de 2014 a las 15:23

  • Gracias, pero su segunda versión todavía solo elimina el cuadro, ¡no el enlace en el menú!

    – Lars Ebert

    27/03/2014 a las 15:30

  • Has probado add_action('init', 'remove_tags'); porque para mí elimina la tinta en el menú que está debajo de las publicaciones.

    – usuario3293145

    27 de marzo de 2014 a las 15:36

¿Ha sido útil esta solución?