¿Está buscando una forma de agregar categorías a un tipo de publicación personalizada fácilmente?

Las categorías son una de las taxonomías integradas en WordPress, pero solo aparecen en las publicaciones de forma predeterminada.

En este artículo, le mostraremos cómo agregar categorías a un tipo de publicación personalizada en WordPress.

¿Cuándo es posible que deba agregar categorías a un tipo de publicación personalizada?

WordPress permite plugin desarrolladores y propietarios de sitios web para crear sus propios tipos de contenido. Al igual que las publicaciones y las páginas, estos tipos de publicaciones personalizadas también pueden tener sus propias taxonomías, como categorías y etiquetas.

Por ejemplo, si publica críticas de películas, es posible que desee crear un tipo de publicación personalizada para ‘Películas’.

También es posible que deba organizar sus películas en temas adecuados, para eso necesitará una taxonomía personalizada. Puede crear una taxonomía llamada género.

Sin embargo, ¿qué sucede si desea utilizar las mismas categorías que utiliza para las publicaciones de su blog con el tipo de publicación Películas?

Aquí es cuando necesita habilitar categorías para su tipo de publicación personalizada. Esto le permitiría utilizar las mismas categorías tanto para las publicaciones de su blog como para el tipo de publicación personalizada.

Dicho esto, ahora echemos un vistazo a cómo agregar categorías fácilmente a un tipo de publicación personalizada en WordPress.

Agregar categorías a un tipo de publicación personalizada con un complemento

Si es un principiante, le recomendamos que utilice la interfaz de usuario de tipo de publicación personalizada plugin para crear tipos de publicaciones personalizadas.

Con la interfaz de usuario de tipo de publicación personalizada plugin, tiene la opción de asociar su tipo de publicación personalizada con cualquier taxonomía incorporada o personalizada, incluidas las categorías.

Primero, debe instalar y activar el Interfaz de usuario de tipo de publicación personalizada plugin. Para obtener más detalles, consulte nuestra guía paso a paso sobre cómo instalar un WordPress. plugin.

Tras la instalación, debe visitar Interfaz de usuario de CPT »Agregar / editar tipos de publicaciones para crear un nuevo tipo de publicación personalizada o editar un tipo de publicación personalizada existente que creó con el plugin.

Editando tipos de publicaciones con CPT UI plugin

Desplácese hacia abajo hasta la parte inferior donde están las Opciones de configuración. Desde allí, verá el Taxnomías área.

Debe marcar la casilla junto a las categorías y guardar su tipo de publicación personalizada.

Activar categorías para un tipo de publicación personalizada en WordPress

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

Ahora, puede editar cualquier contenido bajo ese tipo de publicación en particular, y verá la opción para seleccionar categorías en la columna de la derecha en el editor de bloques de WordPress.

Categoría agregada a un tipo de publicación personalizada

Adición manual de categorías a un tipo de publicación personalizada

Si creó su tipo de publicación personalizada agregando el código en el archivo functions.php de su tema o en un sitio específico plugin, luego tendrá que modificar el código para agregar una categoría como taxonomía admitida.

Todo lo que necesita hacer es agregar esta línea en los argumentos para su tipo de publicación personalizada.


'taxonomies'  => array( 'category' ),

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


'taxonomies'          => array('topics', 'category' ),

Aquí hay un ejemplo completo de código en el que hemos creado un tipo de publicación personalizada llamada ‘Películas’ con soporte para categorías integradas.


function custom_post_type() {

// Set UI labels for Custom Post Type
    $labels = array(
        'name'                => _x( 'Movies', 'Post Type General Name', 'twentythirteen' ),
        'singular_name'       => _x( 'Movie', 'Post Type Singular Name', 'twentythirteen' ),
        'menu_name'           => __( 'Movies', 'twentythirteen' ),
        'parent_item_colon'   => __( 'Parent Movie', 'twentythirteen' ),
        'all_items'           => __( 'All Movies', 'twentythirteen' ),
        'view_item'           => __( 'View Movie', 'twentythirteen' ),
        'add_new_item'        => __( 'Add New Movie', 'twentythirteen' ),
        'add_new'             => __( 'Add New', 'twentythirteen' ),
        'edit_item'           => __( 'Edit Movie', 'twentythirteen' ),
        'update_item'         => __( 'Update Movie', 'twentythirteen' ),
        'search_items'        => __( 'Search Movie', 'twentythirteen' ),
        'not_found'           => __( 'Not Found', 'twentythirteen' ),
        'not_found_in_trash'  => __( 'Not found in Trash', 'twentythirteen' ),
    );
    
// Set other options for Custom Post Type
    
    $args = array(
        'label'               => __( 'movies', 'twentythirteen' ),
        'description'         => __( 'Movie news and reviews', 'twentythirteen' ),
        'labels'              => $labels,
        'supports'            => array( 'title', 'editor', 'excerpt', 'author', 'thumbnail', 'comments', 'revisions', 'custom-fields', ),
        'hierarchical'        => false,
        'public'              => true,
        'show_ui'             => true,
        'show_in_menu'        => true,
        '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'     => 'page',
        'show_in_rest'        => true,
        
        // This is where we add taxonomies to our CPT
        'taxonomies'          => array( 'category' ),
    );
    
    // Registering your Custom Post Type
    register_post_type( 'movies', $args );

}

/* Hook into the 'init' action so that the function
* Containing our post type registration is not 
* unnecessarily executed. 
*/

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

Visualización de varios tipos de publicaciones en la página de categorías

De forma predeterminada, las páginas de categorías en su sitio de WordPress solo mostrarán el tipo de publicación ‘Publicaciones’ predeterminado.

Falta el tipo de publicación

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 el functions.php de su tema o en un sitio específico plugin.


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;
    else
        $post_type = array('nav_menu_item', 'post', 'movies'); // don't forget nav_menu_item to allow menus to work!
    $query->set('post_type',$post_type);
    return $query;
    }
}

No olvide reemplazar ‘películas’ con el nombre de su propio tipo de publicación personalizada. Ahora puede visitar una página de archivo de categorías y mostrará sus entradas de su tipo de publicación personalizada.

Tipo de publicación que se muestra en la página de archivo de categorías

Esperamos que este artículo le haya ayudado a aprender cómo agregar categorías a su tipo de publicación personalizada en WordPress. También puede usar los mismos métodos para agregar etiquetas a sus tipos de publicaciones personalizadas. Consulte nuestra guía: categorías frente a etiquetas para obtener más información.

Es posible que también desee ver nuestra selección de expertos de WordPress imprescindible. plugins para hacer crecer su sitio web.

Si le gustó este artículo, suscríbase a nuestro Canal de Youtube . También puedes encontrarnos en Twitter y Facebook.

.

Fuente: wpbeginner

Entradas relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *