问题描述
我已经创建了一个自定义的帖子类型,它现在有大约 100 个帖子。我只想按字母顺序显示这些字母顺序,而不是默认的,最近似乎是最近的。我已经尝试过各种插件和其他解决方案,但大多数只允许手动排序 (太多的帖子可以工作),我被告知,下面的代码应该可以工作,但似乎没有任何效果。
任何帮助赞赏。
<?php
$args = array( 'post_type' => 'tenant', 'posts_per_page', 'orderby=title&order=ASC' => 5 );
$loop = new WP_Query( $args );
while ( $loop->have_posts() ) : $loop->the_post();
?>
最佳解决方案
尝试这个:
<?php
$args = array( 'post_type' => 'tenant', 'posts_per_page'=>5, 'orderby'=>'title','order'=>'ASC');
$loop = new WP_Query( $args );
while ( $loop->have_posts() ) : $loop->the_post();
?>
您可以在这里找到更多信息 o 自定义查询:http://codex.wordpress.org/Class_Reference/WP_Query
次佳解决方案
我意识到这是一个旧的线程,但我遇到了试图做同样的事情,并决定使用 functions.php 而不是模板和循环添加一个 pre-query 操作。
在我的情况下我有一个大约 25 个瑜伽课的页面,设置为一个定制的帖子类型’classes’
// function and action to order classes alphabetically
function alpha_order_classes( $query ) {
if ( $query->is_post_type_archive('classes') && $query->is_main_query() ) {
$query->set( 'orderby', 'title' );
$query->set( 'order', 'ASC' );
}
}
add_action( 'pre_get_posts', 'alpha_order_classes' );
参考文献
注:本文内容整合自 Google/Baidu/Bing 辅助翻译的英文资料结果。如果您对结果不满意,可以加入我们改善翻译效果:薇晓朵技术论坛。