Muitas pessoas pensam em WordPress como uma ferramenta de blogs, principalmente porque tem posts, categorias, tags, etc. O que a maioria das pessoas não sabe é que podem ser substituídas por tipos de conteúdos personalizados e taxonomias personalizadas.
Na primeira parte deste artigo ficamos a saber que: Custom Post Types é a função usada para manipulação de conteúdo no WordPress, com ela pode-se criar conteúdos personalizados, diferentes dos 5 tipos de postes padrão do WordPress…
Neste artigo vamos continuar a mostrar-lhe como criar taxonomias personalizadas no WordPress, bem como como exibir os conteúdos personalizados em seu tema WordPress.
Criando Custom Tags Taxonomies
A taxonomia ‘post_tag’ é semelhante às categorias, mas de forma mais livre. As tags ou “etiquetas” podem ser feitas instantaneamente, simplesmente digitando-as e podem ser vistas no site nos tipos de URLs “/tag/tag-nome”. Os posts tendem a ter numerosas tags, e são geralmente indicados perto dos posts ou sob a forma de nuvens de tags.
Vamos usar o seguinte código para cria-las:
<?php # # ============================================================================== # creating custom tags taxonomies for portfolio custom post # ============================================================================== # // registration of tags taxonomies function my_tag_taxonomies_portfolio() { $labels = array( 'name' => __( 'Portfolio Tags', 'text-domain' ), 'singular_name' => __( 'Portfolio Tag', 'text-domain' ), 'menu_name' => __( 'Portfolio Tags', 'text-domain' ), 'edit_item' => __( 'Edit Portfolio Tag', 'text-domain' ), 'update_item' => __( 'Update Portfolio Tag', 'text-domain' ), 'add_new_item' => __( 'Add New Portfolio Tag', 'text-domain' ), 'new_item_name' => __( 'New Portfolio Tag Name', 'text-domain' ), 'parent_item' => null, 'parent_item_colon' => null, 'all_items' => __( 'All Portfolio Tags', 'text-domain' ), 'search_items' => __( 'Search Portfolio Tags', 'text-domain' ), 'popular_items' => __( 'Popular Portfolio Tags', 'text-domain' ), 'separate_items_with_commas' => __( 'Separate portfolio tags with commas', 'text-domain' ), 'add_or_remove_items' => __( 'Add or remove portfolio tags', 'text-domain' ), 'choose_from_most_used' => __( 'Choose from the most used portfolio tags', 'text-domain' ), 'not_found' => __( 'No portfolio tags found.', 'text-domain' ), 'items_list_navigation' => __( 'Portfolio tags list navigation', 'text-domain' ), 'items_list' => __( 'Portfolio tags list', 'text-domain' ), ); $args = array( 'labels' => $labels, 'public' => true, 'show_in_nav_menus' => true, 'show_ui' => true, 'show_tagcloud' => true, 'hierarchical' => false, 'rewrite' => array( 'slug' => 'portfolio_tag' ), 'show_admin_column' => true, 'query_var' => true, ); register_taxonomy( 'portfolio_tag', 'portfolio', $args ); } add_action( 'init', 'my_tag_taxonomies_portfolio', 0 ); ?>
Como podemos ver, é similar ao das categorias a única diferença é que indicamos o argumento “hierarchical” como false e também adicionamos null para os argumentos “parent_item” e “parent_item_colon”, o que significa que nada será mostrado na UI (interface do usuário) para criar um “parent_item”.
Depois de termos criado o nosso conteúdo personalizado, adicionado taxonomias personalizadas é hora de ver como ele funciona. Temos que obter algo semelhante á seguinte imagem:
Criando templates para exibir o conteúdo
Os conteúdos personalizados quando exibidos eles tomam o arquivo single.php como a exibição padrão. No entanto, podemos personalizar um template (modelo de página) para exibir os tipos de conteúdos personalizados.
Para criar um modelo de página, precisamos lembrar sempre que o modelo de página para conteúdos personalizados deve ser salvo como single-{post_type}.php enquanto o modelo de página de arquivo deve ser salvo como archive-{post_type}.php.
Então devemos criar um novo arquivo, adicionar o código abaixo e salvá-lo como single-portfolio.php.
<?php /* Template Name: Portfolio Description: Page template to display portfolio custom post types */ get_header(); ?> <div id="primary"> <div id="content" role="main"> <header> <?php the_title( '<h2>', '</h2>' ); ?> </header> <?php $cpt_portfolio = array( 'post_type' => 'portfolio', ); $loop = new WP_Query( $cpt_portfolio ); ?> <?php while ( $loop->have_posts() ) : $loop->the_post();?> <article id="post-" <?php post_class(); ?>> <div class="entry-content"><?php the_content(); ?></div> </article> <?php endwhile; ?> </div> </div> <?php get_footer(); ?>
Se você olhar para o código acima vai notar que eu criei uma matriz que definiu o tipo de post que deve ser passado no loop do WordPress. O resto do código é o de obter o cabeçalho, obter o rodapé e o loop padrão do WordPress . Você pode adicionar mais código para melhorar a maneira como o conteúdos personalizados é exibido.
Nesta altura você terá algo como mostrado na imagem abaixo:
Bom neste artigo ficamos por aqui, já temos o nosso «Custom Post Types» criado e a funcionar. No próximo artigo vamos ver como personalizar os templates (modelo de página) para mostrar o nosso portefólio.
Um abraço…