2

我有两个 CPT,一个叫做“艺术家”,另一个叫做“发布”。我创建了一个显示艺术家及其自定义元数据的 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 回答