Recientemente, uno de nuestros usuarios nos preguntó si era posible agregar categorías a un tipo de publicación personalizada que habían creado. Las categorías son una de las taxonomías incorporadas en WordPress. Por defecto, aparecen solo para publicaciones. Sin embargo, en algunos escenarios, es posible que también desee compartirlos con un tipo de publicación personalizado. En este artículo, le mostraremos cómo agregar categorías a un tipo de publicación personalizado en WordPress. También le mostraremos cómo mostrar múltiples tipos de publicaciones en su página de archivo de categoría.

Agregar categorías a un tipo de publicación personalizado

El método del complemento

Para nuestros usuarios de nivel principiante, recomendamos usar el plugin UI de tipo de entrada personalizado para crear tipos de publicaciones personalizadas. Al utilizar el plugin UI de tipo de entrada personalizado, tiene la opción de asociar su tipo de publicación personalizada a cualquier taxonomía incorporada o personalizada, incluidas las categorías.

Primero necesita instalar y activar el plugin UI de tipo de entrada personalizado. Para más detalles

Tras la instalación, debe visitar IU CPT »Agregar / editar tipos de publicaciones para crear un nuevo tipo de publicación personalizado o editar un tipo de publicación personalizada existente que haya creado con el complemento.

Edición de tipos de publicaciones con el complemento CPT UI

Desplácese hacia abajo en las Opciones avanzadas hacia abajo y allí verá el Construido en Taxnomies opción. Marque la casilla junto a las categorías y guarde su tipo de publicación personalizada.

Activar categorías para un tipo de mensaje personalizado en WordPress

No olvide hacer clic en el botón Guardar tipo de publicación para almacenar su configuración.

Agregar manualmente categorías a un tipo de mensaje personalizado

Si creó su tipo de publicación personalizado agregando el código en el archivo functions.php de su tema o un complemento específico del sitio, entonces deberá modificar el código para agregar categoría como taxonomía admitida.

Todo lo que necesita hacer es agregar esta línea en los argumentos para su CPT.

'taxonomies' => array ('categoría'), 

Es probable que ya tenga esta línea en el código existente para su CPT con alguna otra taxonomía personalizada. Si lo hace, solo necesita agregar una coma después de eso y agregar categoría, como esta:

'taxonomies' => array ('temas', 'categoría'), 

Aquí hay un código de ejemplo completo donde hemos creado un tipo de publicación personalizado llamado películas con soporte para categorías integradas.

function custom_post_type () {

 // Establecer etiquetas de interfaz de usuario para el tipo de mensaje personalizado
 $ labels = array (
 'name' => _x ('Películas', 'Nombre general del tipo de publicación', 'twentythirteen'),
 'singular_name' => _x ('Película', 'Nombre Singular de Tipo de Publicación', 'twentythirteen'),
 'menu_name' => __ ('Movies', 'twentythirteen'),
 'parent_item_colon' => __ ('Película principal', 'twentythirteen'),
 'all_items' => __ ('Todas las películas', 'twentythirteen'),
 'view_item' => __ ('Ver película', 'twentythirteen'),
 'add_new_item' => __ ('Agregar nueva película', 'twentythirteen'),
 'add_new' => __ ('Agregar nuevo', 'twentythirteen'),
 'edit_item' => __ ('Editar película', 'twentythirteen'),
 'update_item' => __ ('Actualizar película', 'twentythirteen'),
 'search_items' => __ ('Search Movie', 'twentythirteen'),
 'not_found' => __ ('No encontrado', 'twentythirteen'),
 'not_found_in_trash' => __ ('No encontrado en la Papelera', 'twentythirteen'),
 );

 // Establecer otras opciones para el tipo de mensaje personalizado

 $ args = array (
 'label' => __ ('películas', 'twentythirteen'),
 'description' => __ ('Noticias y críticas de películas', 'twentythirteen'),
 'labels' => $ labels,
 'supports' => array ('título', 'editor', 'extracto', 'autor', 'miniatura', 'comentarios', 'revisiones', 'campos personalizados',),
 'hierarchical' => falso,
 'public' => verdadero,
 'show_ui' => verdadero,
 'show_in_menu' => true,
 'show_in_nav_menus' => true,
 'show_in_admin_bar' => true,
 'menu_position' => 5,
 'can_export' => verdadero,
 'has_archive' => verdadero,
 'exclude_from_search' => falso,
 'publicly_queryable' => verdadero,
 'capability_type' => 'página',

 // Aquí es donde agregamos taxonomías a nuestro CPT
 'taxonomies' => array ('categoría'),
 );

 // Registro de su tipo de mensaje personalizado
 register_post_type ('películas', $ args);

 }

 / * Enganche en la acción 'init' para que la función
 * Que contiene nuestro registro de tipo de publicación no es
 * innecesariamente ejecutado.
 * /

 add_action ('init', 'custom_post_type', 0); 

Mostrar múltiples tipos de publicaciones en la página de categoría

De forma predeterminada, las páginas de categoría en su sitio de WordPress solo mostrarán el tipo de publicación ‘Publicaciones’ predeterminado. Para mostrar sus tipos de publicaciones personalizadas en la misma página de categoría que sus publicaciones predeterminadas, debe agregar este código en functions.php de su tema o en un complemento específico del sitio.

add_filter ('pre_get_posts', 'query_post_type');
 function query_post_type ($ query) {
   if (is_category ()) {
     $ post_type = get_query_var ('post_type');
     if ($ post_type)
         $ post_type = $ post_type;
     más
         $ post_type = array ('nav_menu_item', 'post', 'películas');  // ¡no olvide nav_menu_item para permitir que los menús funcionen!
     $ query-> set ('post_type', $ post_type);
     devolver $ consulta;
     }
 } 

No olvides reemplazar las películas con el nombre de tu propio tipo de publicación personalizada.

Eso es todo, esperamos que este artículo lo ayude a agregar categorías a su tipo de publicación personalizado en WordPress. Puede usar los mismos métodos para agregar etiquetas a sus tipos de publicaciones personalizadas también.