Como adicionar tags ao tipo de postagem personalizada?

21

Eu tenho um tipo de post personalizado chamado portfolio e estou tentando adicionar a taxonomia de tags a ele, como faço isso?

    
por Joe Bobby 19.08.2012 / 00:24
fonte

5 respostas

13

Assim: (onde diz "carteira" é onde você registra a taxonomia para um tipo de postagem

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' ),
  ));
}
?>
    
por chifliiiii 19.08.2012 / 01:07
fonte
47

Ou apenas adicione:

'taxonomies' => array('post_tag')
  

Uma matriz de taxonomias registradas como category ou post_tag que serão usadas com esse tipo de postagem. Isso pode ser usado em vez de chamar register_taxonomy_for_object_type() diretamente. As taxonomias personalizadas ainda precisam ser registradas com register_taxonomy() .

para a matriz $args no arquivo functions.php onde você cria o tipo de postagem personalizado com register_post_type() .

    
por Marcus 12.07.2013 / 05:06
fonte
4

Use isto:

add_action( 'init', 'gp_register_taxonomy_for_object_type' );
function gp_register_taxonomy_for_object_type() {
    register_taxonomy_for_object_type( 'post_tag', 'portfolio' );
};
    
por Giovanni Putignano 08.10.2014 / 12:16
fonte
0

Use este código para ajudar você

 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 
            )  
        );
}
    
por user25225 06.03.2018 / 19:26
fonte
0

Método 1 (a partir das respostas acima: enlace )

Diferentes tipos de postagens usarão os mesmos dados "Tags" do tipo padrão "post".

  • Benefícios

    • Tudo (deve) funciona fora da caixa com uma linha

    • Todas as suas tags em um só lugar no CMS

  • Desvantagens

    • Esqueça um CMS bem estruturado / fácil de usar - a listagem Tags na página de tipos de postagens personalizadas mostrará todas as Tags (não apenas as tags usadas nos artigos do tipo post personalizado) com a contagem errada ...
    • As alterações em um tag afetarão os artigos "post" padrão, bem como os artigos do tipo de postagem personalizada (Excluir um tag o exclui em ambos os tipos de artigos)
    • Mais difícil (possivelmente impossível) para configurar qualquer funcionalidade distinta do Tag: descrições diferentes, campos personalizados, imagens, etc. (pelo menos não sem muita codificação personalizada em cima do código principal do Wordpress) ...

Método 2 (a partir das respostas acima: enlace )

Diferentes tipos de postagem usam configurações / dados "Tags" diferentes.

  • Benefícios

    • Criar uma funcionalidade relacionada a tags diferente / claramente distinta : modelos frontend, recursos, filtros de consulta, ações)
    • Atribua dados relacionados a tags diferentes : dados de campos ou até mesmo campos personalizados
    • Gerenciar tags melhor no CMS
      • Exemplo : editar / excluir uma tag "post" não afetará a tag (com nome semelhante / slugged) dos outros tipos de postagens
  • Tradeoff

    Um pouco mais de código para configurar

  

Na verdade, eles são uma maneira extremamente poderosa de agrupar vários itens   todos os tipos de maneiras. enlace

    
por P-S 09.10.2018 / 19:07
fonte