問題描述

我已經創建了一個自定義的帖子類型,它現在有大約 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 輔助翻譯的英文資料結果。如果您對結果不滿意,可以加入我們改善翻譯效果:薇曉朵技術論壇。