• Boa tarde!

    Criei um register_post_type chamado “downloads” e criei categorias para estas utilizando o register_taxonomy() chamado downloads-category.

    No WP-Admin, consegui cadastrar todos meus arquivos e separar eles por categorias. Está funcioando direitinho. Porém, no site, não consegui fazer essa filtragem. Se verem no link que enviei (https://ideia.marfin.co/downloads/), ao clicar em qualquer categoria, nenhum filtro é realizado.

    Não sei aonde errei! Podem me ajudar?

    functions.php

    register_post_type('downloads',
        array(
            'labels' => array(
                'name' => __('Downloads'),
                'featured_image' => __('Imagem Capa'),
                'singular_name' => __('Download'),
            ),
            'taxonomies'  => array('downloads-category'),
            'supports' => array(
            	'title',
            	'editor',
            	'custom-fields',
            	'thumbnail'
            ),
            'menu_icon'   => 'dashicons-category',
            'with_front' => true,
            'public' => true,
            'has_archive' => true,
            'rewrite' => array('slug' => 'downloads'),
        )
    );
    $labels = array(
    	'name' => _x('Categorias', 'taxonomy general name'),
    	'singular_name' => _x('Categoria', 'taxonomy singular name'),
    	'search_items' =>  __('Procurar categoria'),
    	'all_items' => __('Todos'),
    	'edit_item' => __('Editar categoria'), 
    	'update_item' => __('Editar categoria'),
    	'add_new_item' => __('Adicionar categoria'),
    	'new_item_name' => __('Nova categoria')
    );    
    register_taxonomy('downloads-category',array('downloads'), array(
    	'hierarchical' => true,
    	'labels' => $labels,
    	'show_ui' => true,
    	'query_var' => true,
    	'show_in_nav_menus' => true,
    	'rewrite' => array('slug' => 'categoria-de-downloads', 'with_front' => false),
    ));

    archive.php

    <?php get_header(); ?>
    <?php if(is_post_type_archive('downloads')){ ?>
    <section id="conteudo">
        <div class="title">
            <div class="container">
            	<h1>Downloads</h1>
            	<?php if (function_exists('yoast_breadcrumb')){ yoast_breadcrumb('<p id="breadcrumbs">','</p>'); }?>
            </div>
        </div>
        <div class="content-master">
        	<div class="container">
        		<div class="row more-gutter">
        			<aside class="col-sm-3">
        				<?php
    
        					$args = array(
    						    'orderby' => 'name',
    						    'taxonomy'=>'downloads-category',
    						    'parent' => 0
    						);
    						$categories = get_categories($args);
    						foreach ($categories as $category){
    						    echo '<li><a href="'.get_category_link($category->term_id).'">'.$category->name.'</a></li>';
    						}
    
        				?>
        			</aside>
        			<div class="col-sm-9">
        				<?php 
        					$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
    						$infoDownload = array(
    							'post_type' => 'downloads', 
    							'paged' => $paged
    						);
    						$resultadoDownload = new WP_Query($infoDownload); 
    						if ($resultadoDownload->have_posts()) :
    						while ($resultadoDownload->have_posts()) : $resultadoDownload->the_post();
    							$postThumb = (has_post_thumbnail()) ? get_the_post_thumbnail_url() : get_stylesheet_directory_uri()."/img/layout/sem-imagem.jpg";
    							$postThumb = "<img src=\"".$postThumb."\" class=\"img-fluid\">";
    						?>
    			    		<div class="row lista-download">
    			    			<div class="col-sm-4">
    								<?php echo $postThumb; ?>
    							</div>
    							<div class="col-sm-8">
    								<h3><?php the_title() ?></h3>
    								<?php the_content(); ?>
    							</div>
    						</div>
    		        	<?php 
    						wp_reset_postdata();
    						endwhile;
    						wpbs_pagination();
    						endif;
    					?>
        			</div>
        		</div>
        	</div>
        </div>
    </section>
    <?php }elseif(is_tax('downloads-category')){ ?>
    <section id="conteudo">
        <div class="title">
            <div class="container">
            	<h1>Nome da categoria</h1>
            	<?php if (function_exists('yoast_breadcrumb')){ yoast_breadcrumb('<p id="breadcrumbs">','</p>'); }?>
            </div>
        </div>
        <div class="content-master">
        	<div class="container">
        		<div class="row more-gutter">
        			<aside class="col-sm-3">
        				<?php
    
        					$args = array(
    						    'orderby' => 'name',
    						    'taxonomy'=>'downloads-category',
    						    'parent' => 0
    						);
    						$categories = get_categories($args);
    						foreach ($categories as $category){
    						    echo '<li><a href="'.get_category_link($category->term_id).'">'.$category->name.'</a></li>';
    						}
    
        				?>
        			</aside>
        			<div class="col-sm-9">
        				<?php 
        					$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
    						$infoDownload = array(
    							'post_type' => 'downloads',
    							'tax_query' => array(
    						        array(
    						            'taxonomy'=>'downloads-category',
    						            'field'    => 'slug'
    						        )
    						    ),
    							'paged' => $paged
    						);
    						$resultadoDownload = new WP_Query($infoDownload); 
    						if ($resultadoDownload->have_posts()) :
    						while ($resultadoDownload->have_posts()) : $resultadoDownload->the_post();
    							$postThumb = (has_post_thumbnail()) ? get_the_post_thumbnail_url() : get_stylesheet_directory_uri()."/img/layout/sem-imagem.jpg";
    							$postThumb = "<img src=\"".$postThumb."\" class=\"img-fluid\">";
    						?>
    			    		<div class="row lista-download">
    			    			<div class="col-sm-4">
    								<?php echo $postThumb; ?>
    							</div>
    							<div class="col-sm-8">
    								<h3><?php the_title() ?></h3>
    								<?php the_content(); ?>
    							</div>
    						</div>
    		        	<?php 
    						wp_reset_postdata();
    						endwhile;
    						wpbs_pagination();
    						endif;
    					?>
        			</div>
        		</div>
        	</div>
        </div>
    </section>
    <?php get_footer(); ?>

    A página que eu preciso de ajuda: [fazer login para ver o link]

Visualizando 1 resposta (de um total de 1)
  • Moderador Felipe Elia

    (@felipeelia)

    Oi! Você só precisa abrir o tópico em um dos fóruns. Os voluntários olham a lista de tópicos sem resposta, aí lá aparece seu tópico duas vezes.

    O outro tópico está aqui. Vou fechar esse, quem quiser ajudar é só responder no outro. Dessa forma todas as respostas ficam em um lugar só.

    • Esta resposta foi modificada 6 anos, 1 mês atrás por Felipe Elia. Razão: Acertando o link
Visualizando 1 resposta (de um total de 1)
  • O tópico ‘Custom Type e Novo Taxonomy – Exibir registros apenas da categoria selecionada’ está fechado para novas respostas.