我有用于自定义帖子类型的代码,用于显示类别帖子的自定义分类。我正在使用高级自定义字段
我想要的是按自定义字段值排序帖子,我想知道如何才能做到这一点?
例如,如果帖子有一个名为“rating”的自定义字段,我如何从最低值到最高值排序帖子?
下面是一个示例代码
<?php $term = get_term_by( \'slug\', get_query_var( \'term\' ), get_query_var( \'brendovi\' ) ); ?>
<?php if (have_posts()): query_posts($query_string.\'&posts_per_page=-1&orderby=date&order=ASC\'); ?>
<?php while( have_posts() ) : the_post(); ?>
这是一段可以很好地显示最新自定义帖子类型帖子的代码,它们具有名为field\\u 1、field\\u 2、field\\u 3的自定义字段。用户将用数值填充这些字段。稍后在单篇文章中,我将计算这些值的总和,然后除以3得到平均值。我们把它叫做field\\u 4。
我一直在显示帖子,并按照带有查询字符串的字段4对其进行排序。
也许我不需要查询字符串?
SO网友:Drupalizeme
这个query_posts
只有当你真正知道自己在做什么时才有用。根据您提供的信息,这应该适合您:
$the_query = new WP_Query(array(
\'post_type\' => \'your_cpt\',
\'posts_per_page\' => -1,//get them all
\'meta_key\' => \'field_4\',
\'orderby\' => \'meta_value\',
\'order\' => \'DESC\'
));
?>
<?php if( $the_query->have_posts() ): ?>
<ul>
<?php while( $the_query->have_posts() ) : $the_query->the_post();
$class = get_field(\'field_4\');
?>
<li <?php echo $class; ?>>
<a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
</li>
<?php endwhile; ?>
</ul>
<?php endif; ?>
<?php wp_reset_query(); // Restore global post data ?>