我有两个CPT,一个叫做'艺术家',另一个叫'发行'。我创建了一个单一的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中,我在元数据中有一个发布日期。
我想根据该日期对版本进行排序,但我无法弄清楚如何将其添加到我的参数中。任何帮助将不胜感激!
答案 0 :(得分: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
应出现在您要用于排序的查询中,see for more。