Página de listagem da taxonomia
-
Olá!
Estou com um problema pra visualizar as categorias que criei em um custom post type.
Criei uma página e um template page para mostrar os posts do custom post type.
Então criei o arquivo taxonomy.php pra mostrar os posts separados por categorias desse custom post type.Só que o arquivo taxonomy.php está mostrando no máximo 3 posts de cada categoria, ele não mostra mais 🙁
Código do meu custom post type no arquivo functions.php:
/* ------------ Portfolio / CUSTOM POST TYPE ------------ */ add_action('init', 'portfolio_register'); function portfolio_register() { $labels = array( 'name' => _x('Portfolio', 'post type general name'), 'singular_name' => _x('Portfolio Item', 'post type singular name'), 'add_new' => _x('New item', 'portfolio item'), 'add_new_item' => __('Add New Item'), 'edit_item' => __('Edit Item'), 'new_item' => __('New Item'), 'view_item' => __('View Item'), 'search_items' => __('Search Portfolio'), 'not_found' => __('Nothing found'), 'not_found_in_trash' => __('Nothing found in Trash'), 'parent_item_colon' => '' ); $args = array( 'labels' => $labels, 'public' => true, 'publicly_queryable' => true, 'show_ui' => true, 'query_var' => true, 'rewrite' => true, 'capability_type' => 'post', 'hierarchical' => false, 'menu_position' => null, 'supports' => array('title','editor','thumbnail') ); register_post_type( 'portfolio' , $args ); } //categorias register_taxonomy("Job", array("portfolio"), array( "hierarchical" => true, "label" => "Job", "singular_label" => "Job", "rewrite" => array('slug' => 'Job'), ) ); //campos do adicionar/editar posts add_action("admin_init", "admin_init"); function admin_init(){ add_meta_box("skills_job-meta", "Skills", "skills_job", "portfolio", "normal", "low"); add_meta_box("online_job-meta", "Online", "online_job", "portfolio", "normal", "low"); add_meta_box("down_job-meta", "Download", "down_job", "portfolio", "normal", "low"); add_meta_box("buy_job-meta", "Buy", "buy_job", "portfolio", "normal", "low"); } function skills_job(){ global $post; $custom = get_post_custom($post->ID); $skills_job = $custom["skills_job"][0]; ?> <label>Skills:</label> <input name="skills_job" value="<?php echo $skills_job; ?>" size="50" /> <?php } function online_job(){ global $post; $custom = get_post_custom($post->ID); $online_job = $custom["online_job"][0]; ?> <label>Online:</label> <input name="online_job" value="<?php echo $online_job; ?>" size="50" /> <?php } function down_job(){ global $post; $custom = get_post_custom($post->ID); $down_job = $custom["down_job"][0]; ?> <label>Downlaod:</label> <input name="down_job" value="<?php echo $down_job; ?>" size="50" /> <?php } function buy_job(){ global $post; $custom = get_post_custom($post->ID); $buy_job = $custom["buy_job"][0]; ?> <label>Buy:</label> <input name="buy_job" value="<?php echo $buy_job; ?>" size="50" /> <?php } add_action('save_post', 'save_details'); function save_details(){ global $post; update_post_meta($post->ID, "skills_job", $_POST["skills_job"]); update_post_meta($post->ID, "online_job", $_POST["online_job"]); update_post_meta($post->ID, "down_job", $_POST["down_job"]); update_post_meta($post->ID, "buy_job", $_POST["buy_job"]); } //mostrar conteudo no admin add_action("manage_posts_custom_column", "portfolio_custom_columns"); add_filter("manage_edit-portfolio_columns", "portfolio_edit_columns"); function portfolio_edit_columns($columns){ $columns = array( "cb" => "<input type=\"checkbox\" />", "title" => "Titulo", "description" => "Sobre", "theskills" => "Skills", "theonlinejob" => "Online", "categoriess" => "Job", ); return $columns; } function portfolio_custom_columns($column){ global $post; switch ($column) { case "description": the_excerpt(); break; case "theskills": $custom = get_post_custom(); echo $custom["skills_job"][0]; break; case "theonlinejob": $custom = get_post_custom(); echo $custom["online_job"][0]; break; case "categoriess": echo get_the_term_list($post->ID, 'Job', '', ', ',''); break; } } /* ------------ END PORTFOLIO / CUSTOM POST TYPE ------------ */
Esse é o código que estou usando no taxonomy.php:
<?php get_header(); ?> <div id="menuPortfolio"> <ul> <li><a href="<?php bloginfo('home');?>/portfolio">Recent</a></li> <?php wp_list_categories('taxonomy=Job&title_li=' . __('') . ''); ?> </ul> <div class="both"></div> </div> <div class="both"></div><!--//menuPortfolio--> <div id="folioContent"> <?php if (have_posts()) : while (have_posts()) : the_post(); $custom = get_post_custom($post->ID); $skills_job = $custom["skills_job"][0]; $online_job = $custom["online_job"][0]; $down_job = $custom["down_job"][0]; $buy_job = $custom["buy_job"][0]; ?> <div id="post-<?php the_ID(); ?>" class="job"> <a href="<?php the_thumb('fullsize'); ?>"><img src="<?php the_thumb('thumbnail'); ?>" alt="" title="" /></a> <h2 class="title"><?php the_title(); ?></h2> <?php the_content("Continue lendo..."); ?> <?php if( !empty($skills_job) ) { ?><p class="skills"><?php echo $skills_job; ?></p><?php } ?> <?php if( !empty($online_job) ) { ?><p class="online"><a href="<?php echo $online_job; ?>">Online</a></p><?php } ?> <?php if( !empty($down_job) ) { ?><p class="down"><a href="<?php echo $down_job; ?>">Download</a></p><?php } ?> <?php if( !empty($buy_job) ) { ?><p class="buy"><a href="<?php echo $buy_job; ?>">Buy</a></p><?php } ?> <div class="both"></div> </div> <?php endwhile; endif; ?> </div><!--//folioContent--> <?php get_footer(); ?>
Eu tentei fazer taxonomy-job-blogs.php pra ver se conseguia mudar a quantidade de posts com query_posts mas não deu certo 🙁 e de qualquer forma, prefiro não fazer assim, pois teria que criar um arquivo pra cada categoria. Queria que ele pegasse do taxonomy.php pra todas as categorias criadas e mostrasse vários posts de cada.
No painel do WordPress ele funciona, se vou em “Portfolio/Job” e clico na quantidade de posts de uma categoria, ele me lista todos os posts dela.Se alguém puder me ajudar, agradeço.
- O tópico ‘Página de listagem da taxonomia’ está fechado para novas respostas.