Cómo agregar categorías a un tipo de publicación personalizada en WordPress

 

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

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

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

Agregar categorías a tipos de publicaciones personalizadas en WordPress

¿Cuándo podría necesitar agregar categorías a un tipo de publicación personalizada?

WordPress permite a los desarrolladores de complementos y propietarios de sitios web 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 apropiados, para eso necesita una taxonomía personalizada. Puede crear una taxonomía denominada Género.

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

En ese caso, deberá habilitar categorías para su tipo de publicación personalizada. De esa manera, puede usar las mismas categorías para las publicaciones de su blog y su tipo de publicación personalizada.

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 el complemento IU de tipo de publicación personalizada para crear tipos de publicación personalizados.

El complemento Tipo de publicación personalizada le permite asociar su tipo de publicación personalizada con cualquier taxonomía incorporada o personalizada, incluidas las categorías.

Primero necesitas instalar y activar eso Interfaz de usuario personalizada para tipos de publicaciones Enchufar. Para obtener más información, consulte nuestra guía paso a paso sobre la instalación de un complemento de WordPress.

Después de 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 complemento.

Editar tipos de publicaciones con el complemento CPT UI

Desplácese hacia abajo hasta donde están las opciones de configuración. Desde allí puedes verlos Taxnomías Zona.

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

Habilite 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 guardar 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

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

Si ha creado su tipo de publicación personalizada agregando el código en el archivo functions.php de su tema o en un complemento específico de la ubicación, deberá modificar el código para agregar una categoría como una taxonomía compatible.

Todo lo que necesita hacer es incluir esta línea en los argumentos de 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 una taxonomía personalizada diferente. Después de hacer esto, todo lo que necesita hacer es agregar una coma y agregar una categoría como esta:

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

Aquí hay un ejemplo completo de código donde creamos 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 );

Mostrar varios tipos de publicaciones en la página de categorías

De forma predeterminada, solo el tipo de publicación estándar «Publicaciones» se muestra en las páginas de categorías de su sitio de WordPress.

Falta el tipo de publicación

Para mostrar sus tipos de publicaciones personalizadas en la misma página de categoría que sus publicaciones estándar, debe pegar este código en functions.php de su tema o en un complemento específico de la ubicación.

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 que mostrará sus entradas de su tipo de publicación personalizada.

Tipo de publicación que se muestra en la página de archivo para 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 agregar etiquetas a sus tipos de publicaciones personalizadas utilizando los mismos métodos. Para obtener más información, consulte nuestra guía: Categorías frente a etiquetas.

Es posible que también desee ver nuestra selección experta de los complementos de WordPress que necesita para hacer crecer su sitio web.