Tengo un tipo de publicación personalizado llamado portfolio
y estoy tratando de agregarle la taxonomía de etiquetas, ¿cómo hago esto?
Tengo un tipo de publicación personalizado llamado portfolio
y estoy tratando de agregarle la taxonomía de etiquetas, ¿cómo hago esto?
Respuestas:
Así: (donde dice "cartera" es donde 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 agregue:
'taxonomies' => array('post_tag')
Una serie de taxonomías registradas como
category
opost_tag
que se utilizarán con este tipo de publicación. Esto se puede usar en lugar de llamarregister_taxonomy_for_object_type()
directamente. Las taxonomías personalizadas aún deben registrarseregister_taxonomy()
.
a la $args
matriz en el functions.php
archivo donde crea el tipo de publicación personalizada con register_post_type()
.
Utilizar esta:
add_action( 'init', 'gp_register_taxonomy_for_object_type' );
function gp_register_taxonomy_for_object_type() {
register_taxonomy_for_object_type( 'post_tag', 'portfolio' );
};
Método 1 (de las respuestas anteriores: https://wordpress.stackexchange.com/a/106211/38771 )
Los diferentes tipos de publicación utilizarán los mismos datos de "Etiquetas" del tipo predeterminado "publicación".
Beneficios
Todo (debería) funcionar fuera de la caja con una línea
Todas sus etiquetas en un solo lugar en el CMS
Desventajas
Método 2 (de las respuestas anteriores: https://wordpress.stackexchange.com/a/62263/38771 )
Diferentes tipos de publicaciones utilizan diferentes configuraciones / datos de "Etiquetas".
Beneficios
Compensación
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. https://codex.wordpress.org/Taxonomies#Custom_Taxonomies
Solo use este código, puede ser útil
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
)
);
}