J'ai un type de publication personnalisé appelé portfolio
et j'essaie d'y ajouter la taxonomie des balises, comment faire?
J'ai un type de publication personnalisé appelé portfolio
et j'essaie d'y ajouter la taxonomie des balises, comment faire?
Réponses:
Comme ceci: (où il est dit "portfolio" est l'endroit où vous enregistrez la taxonomie à un type de poste
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' ),
));
}
?>
Ou ajoutez simplement:
'taxonomies' => array('post_tag')
Un tableau de taxonomies enregistrées comme
category
oupost_tag
qui seront utilisées avec ce type de message. Cela peut être utilisé au lieu d'appelerregister_taxonomy_for_object_type()
directement. Les taxonomies personnalisées doivent encore être enregistréesregister_taxonomy()
.
dans le $args
tableau du functions.php
fichier où vous créez le type de publication personnalisé avec register_post_type()
.
Utilisez ceci:
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éthode 1 (à partir des réponses ci-dessus: /wordpress//a/106211/38771 )
Différents types de publication utiliseront les mêmes données "Tags" que le type de "publication" par défaut.
Avantages
Tout (devrait) fonctionner hors de la boîte avec une seule ligne
Tous vos tags en un seul endroit dans le CMS
Inconvénients
Méthode 2 (à partir des réponses ci-dessus: /wordpress//a/62263/38771 )
Différents types de messages utilisent différentes configurations / données de «balises».
Avantages
Troquer
Un peu plus de code à configurer
En vérité, ils sont un moyen extrêmement puissant de regrouper divers éléments de toutes sortes de façons. https://codex.wordpress.org/Taxonomies#Custom_Taxonomies
Il suffit d'utiliser ce code, il peut vous aider
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
)
);
}