/ / WordPress - Otrzymuj posty w niestandardowej kategorii taksonomii - wordpress, taksonomia, custom-post-type

WordPress - Otrzymuj posty w niestandardowej kategorii kategorii - wordpress, systematyka, niestandardowy typ posta

Mam trochę dziwny problem z moimZapytanie WP. Mam niestandardowy typ postu (portfolio) z niestandardową taksonomią o nazwie year. Mam kategorie na każdy rok, więc chcę wyświetlić wszystkie posty na każdy rok. Problem w tym, że tylko 2012 działa. Nie ma znaczenia, czy zamówię kategorie ASC/DESC - tylko 2012 działa.

<section id="content">
<?php
$categories = get_categories("taxonomy=year&order=DESC");
foreach($categories as $category) : ?>
<article class="year">
<h2><?php echo $category->name ?></h2>
<div class="items">
<?php
$posts = get_posts("taxonomy=year&post_type=portfolio&year=" . $category->slug);
foreach($posts as $post) : ?>
<div class="item">
<?php
$large_image_url = wp_get_attachment_image_src( get_post_thumbnail_id(), "full");
echo "<a href="" . $large_image_url[0] . "" title="" . the_title_attribute("echo=0") . "" rel="lightbox[" . $category->slug . "]" >";
the_post_thumbnail("thumbnail");
echo "</a>";
?>
</div>
<?php endforeach; ?>
</div>
</article>
<?php
endforeach;
wp_reset_query();
?>
</section>

Co ja robię źle? Wydaje mi się, że to słuszne. Próbowałem różnych sposobów, od prawdziwych zapytań po absurdalne sortowania, ale po prostu nie mogę tego zrobić dobrze..

Z góry dziękuję!

Odpowiedzi:

0 dla odpowiedzi № 1

Teraz sam to rozwiązałem, wciąż nie rozumiem100%, ale przynajmniej działa. Musi być jakiś sprytniejszy sposób na zrobienie tego, ponieważ teraz zapętlam wszystkie obrazy dla każdego terminu. Oto kod (pobierz posty pogrupowane według terminów z niestandardowej taksonomii).

<section id="content">
<?php
$categories = get_categories("taxonomy=year&order=DESC");

foreach($categories as $category) { ?>

<article class="year">
<h2><?php echo $category->name ?></h2>
<div class="items">
<?php
$args = array(
"post_type" => "portfolio"
);

query_posts($args);
$count = 0;

while(have_posts()) : the_post();
$terms = get_the_terms( $post->ID, "year" );

foreach ( $terms as $term ) {
$imgslug = $term->name;
}

if($imgslug == $category->name) {
if($count == 6) {
echo "<div class="expanded-items">";
}
?>
<div class="item">
<?php
$large_image_url = wp_get_attachment_image_src( get_post_thumbnail_id(), "full");
echo "<a href="" . $large_image_url[0] . "" title="" . the_title_attribute("echo=0") . "" rel="lightbox[" . $category->slug . "]" >";
the_post_thumbnail("thumbnail");
echo "</a>";
?>
</div>

<?php
}
$count++;

endwhile;
if($count >= 6) {
echo "</div>";
}
?>
</div>
<div class="expand">Visa fler</div>
</article>
<?php } ?>
</section>

To znaczy z listą rozwijaną, więc pokazuje 6 od początku, a następnie rozwija się, aby pokazać resztę elementów (jQuery).