Tengo un tipo de publicación personalizado llamado portfolio
y estoy intentando agregarle la taxonomía de etiquetas, ¿cómo hago esto?
Tengo un tipo de publicación personalizado llamado portfolio
y estoy intentando agregarle la taxonomía de etiquetas, ¿cómo hago esto?
De esta manera: (donde dice "cartera" es donde se registra la taxonomía en un tipo de publicación
add_action( 'init', 'create_tag_taxonomies', 0 );
//create two taxonomies, genres and tags for the post type "tag"
function create_tag_taxonomies()
{
// Add new taxonomy, NOT hierarchical (like tags)
$labels = array(
'name' => _x( 'Tags', 'taxonomy general name' ),
'singular_name' => _x( 'Tag', 'taxonomy singular name' ),
'search_items' => __( 'Search Tags' ),
'popular_items' => __( 'Popular Tags' ),
'all_items' => __( 'All Tags' ),
'parent_item' => null,
'parent_item_colon' => null,
'edit_item' => __( 'Edit Tag' ),
'update_item' => __( 'Update Tag' ),
'add_new_item' => __( 'Add New Tag' ),
'new_item_name' => __( 'New Tag Name' ),
'separate_items_with_commas' => __( 'Separate tags with commas' ),
'add_or_remove_items' => __( 'Add or remove tags' ),
'choose_from_most_used' => __( 'Choose from the most used tags' ),
'menu_name' => __( 'Tags' ),
);
register_taxonomy('tag','portfolio',array(
'hierarchical' => false,
'labels' => $labels,
'show_ui' => true,
'update_count_callback' => '_update_post_term_count',
'query_var' => true,
'rewrite' => array( 'slug' => 'tag' ),
));
}
?>
O simplemente añada:
'taxonomies' => array('post_tag')
Un conjunto de taxonomías registradas como
category
opost_tag
que se usarán con este tipo de publicación. Esto se puede usar en lugar de llamar aregister_taxonomy_for_object_type()
directamente. Las taxonomías personalizadas aún deben registrarse conregister_taxonomy()
.
a la matriz $args
en el archivo functions.php
donde crea el tipo de publicación personalizada con register_post_type()
.
Usa esto:
add_action( 'init', 'gp_register_taxonomy_for_object_type' );
function gp_register_taxonomy_for_object_type() {
register_taxonomy_for_object_type( 'post_tag', 'portfolio' );
};
Solo usa este código para ayudarte
add_action( 'init', 'create_client_tax' );
function create_client_tax() {
register_taxonomy(
'client_tag', //your tags taxonomy
'client', // Your post type
array(
'hierarchical' => false,
'label' => __( 'Tags', CURRENT_THEME ),
'singular_name' => __( 'Tag', CURRENT_THEME ),
'rewrite' => true,
'query_var' => true
)
);
}
Método 1 (de las respuestas anteriores: enlace )
Los diferentes tipos de publicaciones utilizarán los mismos datos de "Etiquetas" del tipo predeterminado "publicación".
Beneficios
Todo (debería) funciona fuera de la caja con una línea
Todas sus etiquetas en un solo lugar en el CMS
Downsides
Método 2 (de las respuestas anteriores: enlace )
Los diferentes tipos de publicaciones usan diferentes configuraciones / datos de "Etiquetas".
Beneficios
Tradeoff
Un poco más de código para configurar
En verdad, son una forma extremadamente poderosa de agrupar varios elementos en todo tipo de formas enlace
Lea otras preguntas en las etiquetas custom-post-types custom-taxonomy