Cómo añadir categorías a un tipo de mensaje personalizado en WordPress

Recientemente uno de nuestros usuarios nos preguntó si era posible añadir categorías a un tipo de mensaje personalizado que han creado. Las categorías son una de las taxonomías incorporadas en WordPress. Por defecto aparecen sólo para los mensajes. Sin embargo, en algunos escenarios es posible que desee compartirlos también con un tipo de mensaje personalizado. En este artículo, le mostraremos cómo añadir categorías a un tipo de mensaje personalizado en WordPress. También le mostraremos cómo mostrar varios tipos de mensajes en la página de archivo de su categoría.

El método del plugin

Para nuestros usuarios de nivel principiante, recomendamos utilizar el plugin de interfaz de usuario de tipo de puesto personalizado para crear tipos de puestos personalizados. Al utilizar el plugin de interfaz de usuario de tipo de mensaje personalizado, tiene la opción de asociar su tipo de mensaje personalizado a cualquier taxonomía incorporada o personalizada, incluidas las categorías.

Primero necesita instalar y activar el plugin Custom Post Type UI. Para más detalles, vea nuestra guía paso a paso sobre cómo instalar un plugin de WordPress.

Después de la instalación, debe visitar la interfaz de usuario de CPT » Agregar/editar tipos de mensajes para crear un nuevo tipo de mensaje personalizado o editar un tipo de mensaje personalizado existente que haya creado con el plugin.

Desplácese hacia abajo en las Opciones Avanzadas hasta la parte inferior y allí verá la opción Taxnomías incorporadas. Marque la casilla junto a las categorías y guarde su tipo de mensaje personalizado.

No olvides hacer clic en el botón Guardar tipo de mensaje para guardar tu configuración.

Adición manual de categorías a un tipo de mensaje personalizado

Si ha creado su tipo de mensaje personalizado añadiendo el código en el archivo functions.php de su tema o en un plugin específico del sitio, tendrá que modificar el código para añadir la categoría como taxonomía soportada.

Todo lo que tiene que hacer es añadir esta línea en los argumentos de su CPT.

1’taxonomías’ => 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, entonces sólo tiene que añadir una coma después de eso y añadir una categoría, como esta:

1’taxonomías’ => array(‘temas’, ‘categoría’),

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

12345678910111213141415161718192021222324252627282930313233343536373839404142434445464748495051525354function custom_post_type() {// Set UI labels for Custom Post Type$labels = array(‘name’ => «Movies», «Post Type General Name», «twentythirteen» ), «singular_name» => «Movie», «Post Type Singular Name», «twentythirteen» ), «menu_name» => «Movie», «Post Type Singular Name», «twentythirteen», «menu_name» => «Películas», «veintitrés», «parent_item_colon» => «Parent Movie», «veintitrés», «all_items» => «Todas las películas», «veintitrés», «View_item», «View Movie», «twentythirteen», «add_new_item», «add_new_item», «add_new_item», «twentythirteen», «add_new», «add_new», «add_new», «add_new», «add New», «twentythirthirteen»…»; «Edit Movie», «twentythirteen», «update_item», «Update Movie», «twentythirteen», «search_items», «search_items», «not_found», «not_found», «not_found», «not_found», «not_found», «not_found», «not_found_in_trash»; Establecer otras opciones para Custom Post Type$args = array(‘label’ => __(‘movies’, ‘twentythirteen’),’description’ => __(‘description’ => __(‘Movie news and reviews’, ‘twentythirteen’),’labels’ => «Etiquetas,’soportes’ => matriz (‘título’, ‘editor’, ‘extracto’, ‘autor’, ‘miniatura’, ‘comentarios’, ‘revisiones’, ‘campos personalizados’, ),’jerárquico’ => falso,’público’ => verdadero,’show_ui’ => verdadero,’show_in_menu’ => verdadero,’show_in_menu’ =>’show_in_nav_menus’ => verdadero,’show_in_nav_menus’ => true,’show_in_admin_bar’ => true,’menu_position’ => 5,’can_export’ => true,’has_archive’ => true,’exclude_from_search’ => false,’publicly_queryable’ => true,’capability_type’ => `página’,// Aquí es donde añadimos taxonomías a nuestras’taxonomías’ de CPT => array(‘category’),);// Registrando su Custom Post Typeregister_post_type( ‘movies’, $args );}/* Enganche en la acción `init’ para que la función* Contiene nuestro registro de tipo de mensaje no se ejecute innecesariamente. */add_action( ‘init’, ‘custom_post_type’, 0 );

Mostrar varios tipos de mensajes en la página de categoría

Por defecto, las páginas de categorías en tu sitio WordPress sólo mostrarán el tipo de mensaje predeterminado ‘Mensajes’. Para mostrar los tipos de mensajes personalizados en la misma página de categoría que los mensajes predeterminados, necesitas añadir este código a functions.php de tu tema o a un plugin específico del sitio.

12345678910111112add_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;else$post_type = array(‘nav_menu_item’, `post’, ‘post’, ‘movies’); // no se olvide de nav_menu_item para permitir que los menús funcionen!$query->set(‘post_type’,$post_type);return $query;}}}.

No olvides reemplazar las películas con el nombre de tu propio tipo de mensaje personalizado.

Eso es todo, esperamos que este artículo te haya ayudado a añadir categorías a tu tipo de mensaje personalizado en WordPress. También puedes usar los mismos métodos para añadir etiquetas a tus tipos de mensajes personalizados.

Valora el post

Deja un comentario