Afișează categoriile dintr-un tip de postare personalizat
Am creat un tip de postare personalizat 'Portfolio' și sub acest tip de postare am creat categorii Portfolio cu următorul cod
functions.php - următorul este codul pentru tipul de postare personalizat pe care l-am definit în pagina functions.php
function demo_register_post_type() {
register_post_type('Portfolio', array(
'labels' => array(
'name' => __('Portfolio'),
'singular_name' => __('Portfolio'),
'add_new' => 'Adaugă Portfolio Nou',
'edit_item' => 'Editează Portfolio',
'new_item' => 'Portfolio Nou',
'view_item' => 'Vezi Portfolio',
'search_items' => 'Caută Portfolio',
'not_found' => 'Nu s-a găsit niciun Portfolio',
'not_found_in_trash' => 'Nu s-a găsit niciun Portfolio în Coș',
'show_ui' => true,
'show_in_menu' => true,
'capability_type' => 'post',
'hierarchical' => false,
'rewrite' => true,
'query_var' => true
),
'menu_position' => 6,
'public' => true,
'supports' => array(
'title','editor','author','thumbnail','excerpt','comments','page-attributes'
),
'rewrite' => array( 'slug' => 'portfolio', 'with_front' => false ),
'taxonomy' => array('category', 'post_tag')
));
register_taxonomy( 'portfolio-category', 'Portfolio', array ('hierarchical' => true, 'label' => __('Categorii Portfolio'))); // categorii portfolio
Acum vreau să preiau toate categoriile din acest tip de postare și să afișez postările din categorii pe pagină?
Vă rog să-mi spuneți cum aș putea face acest lucru?
Mulțumesc.

Ce zici de folosirea funcției get_terms()?
Exemplu rapid:
$terms = get_terms('portfolio-category');
foreach ( $terms as $term ) {
echo $term->name.'<br />';
}

Pentru a obține postările din tipul tău personalizat de postare, trebuie să interoghezi post_type și poți face asta în felul următor:
<?php query_posts(array( 'post_type' => 'Portfolio' )); ?>
<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
<div class="post">
<!-- Afișează Titlul ca link către permalink-ul Postării. -->
<h2><a href="<?php the_permalink() ?>" rel="bookmark" title="Legătură Permanentă către <?php the_title_attribute(); ?>"><?php the_title(); ?></a></h2>
<!-- Afișează data (în formatul 16 Noiembrie, 2009) și un link către alte postări ale aceluiași autor. -->
<small><?php the_time('j F, Y') ?> de <?php the_author_posts_link() ?></small>
<div class="entry">
<?php the_content(); ?>
</div>
<p class="postmetadata">Postat în <?php the_category(', '); ?></p>
</div> <!-- închide primul div -->
<?php endwhile; else: ?>
<p>Ne pare rău, nicio postare nu corespunde criteriilor tale.</p>
<?php endif; ?>
Dacă dorești să obții postări din Portfolio care aparțin unui anumit termen din taxonomia ta personalizată, atunci adaugă argumentul taxonomy în array-ul query_posts astfel:
<?php query_posts(array( 'post_type' => 'Portfolio','portfolio-category' => 'numele-categoriei' )); ?>
Sper că te ajută.
