Comment ajouter des balises à un type de publication personnalisé?

21

J'ai un type de publication personnalisé appelé portfolio et j'essaie d'y ajouter la taxonomie des balises. Comment puis-je procéder?

    
posée Joe Bobby 19.08.2012 - 00:24
la source

5 réponses

13

Comme ceci: (où il est écrit "portfolio", c’est là où vous enregistrez la taxonomie dans un type de publication

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' ),
  ));
}
?>
    
réponse donnée chifliiiii 19.08.2012 - 01:07
la source
47

Ou ajoutez simplement:

'taxonomies' => array('post_tag')
  

Un tableau de taxonomies enregistrées, telles que category ou post_tag , qui sera utilisé avec ce type de publication. Ceci peut être utilisé au lieu d'appeler register_taxonomy_for_object_type() directement. Les taxonomies personnalisées doivent encore être enregistrées avec register_taxonomy() .

dans le tableau $args du fichier functions.php où vous créez le type de publication personnalisé avec register_post_type() .

    
réponse donnée Marcus 12.07.2013 - 05:06
la source
4

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' );
};
    
réponse donnée Giovanni Putignano 08.10.2014 - 12:16
la source
0

Il suffit d’utiliser ce code pour 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 
            )  
        );
}
    
réponse donnée user25225 06.03.2018 - 19:26
la source
0

Méthode 1 (d'après les réponses ci-dessus: enlace )

Différents types de publication utiliseront les mêmes données "Tags" que le type "post" par défaut.

  • Avantages

    • Tout fonctionne (devrait) fonctionner avec une ligne

    • Tous vos tags en un seul endroit du CMS

  • Inconvénients

    • Oubliez un CMS bien structuré / facile à utiliser - la liste des balises sur la page des types de publications personnalisées affichera toutes les balises (et pas uniquement les balises utilisées dans les articles de type publication personnalisée) avec un nombre incorrect ...
    • Les modifications apportées à une balise affecteront les articles "post" par défaut, ainsi que les articles de type publication personnalisés (Supprimer une balise la supprime dans les deux types d'articles)
    • Plus difficile (éventuellement impossible) de configurer une fonctionnalité de balise distincte: descriptions différentes, champs personnalisés, images, etc. (du moins pas sans beaucoup de codage personnalisé sur le code Wordpress principal) ...

Méthode 2 (d'après les réponses ci-dessus: enlace )

Différents types de publication utilisent différentes configuration / données de "balises".

  • Avantages

    • Créer des fonctionnalités différentes / clairement distinctes liées aux balises : modèles frontaux, fonctionnalités, filtres de requête, actions)
    • Attribuer différentes données liées aux balises : données de champs ou même champs personnalisés
    • Mieux gérer les tags dans le système de gestion de contenu
      • Exemple : la modification / suppression d'une balise "publication" n'affectera pas la balise (portant le même nom / slugged) pour les autres types de publication
  • Compromis

    Un peu plus de code à configurer

  

En réalité, ils constituent un moyen extrêmement puissant de regrouper divers éléments dans   toutes sortes de façons. enlace

    
réponse donnée P-S 09.10.2018 - 19:07
la source

Lire d'autres questions sur les étiquettes