2

2つのCPTがあります。1つは「artist」と呼ばれ、もう1つは「release」と呼ばれます。アーティストとそのカスタムメタデータを表示するsingle-artist.phpページを作成しました。その同じページに、そのアーティストによるすべてのリリースを次のコードで表示しています。

<!-- GET RELEASES -->
<?php

$category = get_the_category();
$artist_name_slug = $category[0]->slug;

$args = array ('post_type' => 'release', 'posts_per_page' => 20, 'category_name' => $artist_name_slug);

query_posts ($args);

?>

<?php if (have_posts()) : ?>
<h3 class="artist-col2-title">Releases</h3>
<?php while (have_posts()) : the_post(); ?>

<div class="artist-release"><a href="<?php echo get_permalink(); ?>" title="<?php the_title(); ?>" rel="bookmark"><?php echo the_post_thumbnail('small'); ?></a></div>

<?php endwhile; ?>
<?php endif; ?>
<div style="clear:both;"></div>

リリースCPT内で、メタデータにリリース日があります。

その日付に基づいてリリースを並べ替えたいのですが、それを引数に追加する方法がわかりません。どんな助けでも大歓迎です!

4

1 に答える 1

0

並べ替えるには、meta data次を使用できます

$args = array (
    'post_type' => 'release',
    'posts_per_page' => 20,
    'category_name' => $artist_name_slug,
    'meta_key' => 'your_meta_key' // i.e. release_date
    'orderby'='meta_value' // for numeric value use 'meta_value_num' instead
);
query_posts ($args);

ただしmeta_key、並べ替えに使用するクエリに が存在する必要があることに注意してください。詳細については、を参照してください

于 2012-11-13T22:01:28.847 に答える