quarta-feira, 7 de agosto de 2013

Adicionando categorias, tags e taxonomias customizadas nas Mídias do WordPress [Tudo para Wordpress]

Você já se sentiu frustrado pelo fato do WordPress não permitir que você especifique uma categoria ou uma tag nas imagens ou arquivos de mídia? Pois é, eu já, pois tive tal necessidade em um projeto, e me coloquei a pesquisas como resolver isso


Imagine como isso poder ser útil: criar uma galeria dinâmica de imagens de um local específico, ou típo específico (paisagens, abstratas, etc), ou cria uma página listando todos os documentos do tipo X.


Na verdade, dé algo bem simples de se fazer, pois você pode adicionar algumas funções no seu tema (no arquivo functions.php, é claro), e criar uma taxonomia personalizada para aplicar nos arquivos de midia


Neste tutorial, iremos ver como fazer isso em 10 minutos ou menos!


Antes de começar: Tela de edição de Mídia


Em seu modo padrão, a tela de edição de mídia não contem nenhuma categoria, tag, ou taxonomia habilitada:

midia


Adicionando categorias para as mídias


O primeiro passo é habilitar categorias para as mídias. Você faz isso utilizando a função register_taxonomy_for_object_type, com o trecho de código abaixo:



function wptp_add_categories_to_attachments() {

register_taxonomy_for_object_type( ‘category’, ‘attachment’ );

}

add_action( ‘init’ , ‘wptp_add_categories_to_attachments’ );



Salve seu arquivo, atualize a tela de mídia e note que ela ficará assim:

midia-categoria


Note também que uma coluna Categorias irá aparecer na Biblioteca de Mídias:

biblioteca-midias


Adicionando tags para as mídias


Se você preferir trabalhar com tags ao invés de categorias (ou até mesmo com os dois), você pode as adicionar utilizando a mesma função register_taxonomy_for_object_type, mas com o trecho de código abaixo:



function wptp_add_tags_to_attachments() {

register_taxonomy_for_object_type( ‘post_tag’, ‘attachment’ );

}

add_action( ‘init’ , ‘wptp_add_tags_to_attachments’ );



Com isso, teremos a opção de adicionar tags, e a página da Biblioteca de mídias agora mostrará Tags em uma das colunas.


Criando taxonomias customizadas em suas mídias


Em alguns casos você pode desejar utilizar uma taxonomia customizada ao invés de categorias ou tags. Você pode utilizar também taxonomias customizadas de forma simples, registrando e aplicando no post type ‘attachment’


No exemplo abaixo, note que partimos da idéia de adicionar a taxonomia personalizada ‘Localização’ para classificar todas as imagens.



function wptp_add_localizacao_taxonomy() {

$labels = array(

‘name’ => ‘Localizações’,

‘singular_name’ => ‘Localização’,

‘search_items’ => ‘Pesquisar Localizações’,

‘all_items’ => ‘Todas as Localizações’,

‘parent_item’ => ‘Parent Location’,

‘parent_item_colon’ => ‘Parent Location:’,

‘edit_item’ => ‘Editar Localização’,

‘update_item’ => ‘Atualizar Localização’,

‘add_new_item’ => ‘Adicionar nova Localização’,

‘new_item_name’ => ‘Nova Localização’,

‘menu_name’ => ‘Localização’,

);


$args = array(

‘labels’ => $labels,

‘hierarchical’ => true,

‘query_var’ => ‘true’,

‘rewrite’ => ‘true’,

‘show_admin_column’ => ‘true’,

);


register_taxonomy( ‘localizacao’, ‘attachment’, $args );

}

add_action( ‘init’, ‘wptp_add_localizacao_taxonomy’ );



Isso criará uma nova taxonomia hierárquica que pode ser usada apenas nas mídias (attachments).


Se você desejar aplicar em outros tipos de conteúdo, você pode substituir o parâmetro ‘attachment’ na função register_taxonomy() com um array contendo slugs the outros tipos de conteúdo que você quiser:



register_taxonomy( ‘location’, array( ‘attachment’, ‘post’ ), $args );



Note também que a coluna na tela de Mídia irá aparecer, já que o parâmetro show_admin_column está declarado como true.


Com as dicas acima, você que tem um site com muitas mídias e deseja uma melhor organização do conteúdo na Biblioteca de Mídias terá finalmente seu sonho realizado e um ganho de tempo ao localizar as imagens que deseja :D



Adicionando categorias, tags e taxonomias customizadas nas Mídias do WordPress Post originalmente publicado no Tudo Para WordPress por Guga Alves


Post originalmente publicado no Tudo Para WordPress por Guga Alves

Nenhum comentário: