我试图在WordPress循环中按自定义分类法排序,这是一种评级,但它不是按数字排序。如果我按“ASC”排序,那么它将把那些没有评级的放在顶部,否则就不能按“ASC”或“DESC”排序。
有什么想法吗?
$number = 1;
$args = array( \'posts_per_page\' => -1, \'orderby\'=> \'rating\', \'order\' => \'ASC\' );
$wpb_all_query = new WP_Query( $args );
while ( $wpb_all_query->have_posts() ) : $wpb_all_query->the_post();
if (has_term( \'Roast Dinner\', \'type\')) { ?>
<li><?php echo $number . \'. \'; $number++;?>
<a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
<span class="remove-link"><?php echo strip_tags(get_the_term_list( $post->ID, \'rating\', \'\' )); ?></span>
<span class="remove-link league-table-price hidden"><?php echo strip_tags(get_the_term_list( $post->ID, \'price\', \'\' )); ?></span>
<span class="remove-link league-table-priceincservice hidden"><?php echo strip_tags(get_the_term_list( $post->ID, \'priceincservice\', \'\' )); ?></span>
<span class="remove-link league-table-meat hidden"><?php echo strip_tags(get_the_term_list( $post->ID, \'meat\', \'\' )); ?></span>
<span class="remove-link league-table-tubeline hidden"><?php echo strip_tags(get_the_term_list( $post->ID, \'tubeline\', \'\' )); ?></span>
<span class="remove-link league-table-tubestation hidden"><?php echo strip_tags(get_the_term_list( $post->ID, \'tubestation\', \'\' )); ?></span>
<span class="remove-link league-table-areaoflondon hidden"><?php echo strip_tags(get_the_term_list( $post->ID, \'areaoflondon\', \'\' )); ?></span>
<span class="remove-link league-table-districtoflondon hidden"><?php echo strip_tags(get_the_term_list( $post->ID, \'districtoflondon\', \'\' )); ?></span>
<span class="remove-link league-table-zone hidden"><?php echo strip_tags(get_the_term_list( $post->ID, \'zone\', \'\' )); ?></span>
</li>
<?php } ?>
编辑-我确实尝试了中所示的解决方案Orderby custom field for custome post type 但是,它提供了一个空白循环-无输出。种类regardsJames