本系列文章將深入探討WP_Query
的精髓。在開始之前,讓我們快速回顧一下WP_Query
參數的繼承機制。 exclude_from_search
設置為true
的文章也將被排除在搜索結果之外。
如果您未在查詢參數中指定狀態,WordPress 將默認使用繼承狀態。繼承狀態同時適用於附件和修訂版。在編輯屏幕上上傳的媒體文件會附加到當前正在編輯的文章中。因此,它們與父文章具有相同的狀態是合理的。同樣,文章的修訂版也使用相同的機制。
排序參數
您可以使用以下兩個參數進行排序:
orderby
參數:您可以根據一系列字段對文章進行排序:relevance
:按搜索詞排序。優先考慮完整的句子匹配。之後,我們將繼續關注標題中的所有搜索詞、標題中的一些搜索詞以及文章中的搜索詞。 post_name__in
:保留post_name__in
參數中給定的文章slug順序。 post_parent__in
:保留post_parent__in
參數中給定的父文章順序。當您使用post_name__in
並且ignore_sticky_posts
設置為true
時,orderby
參數將被忽略。您還可以選擇僅輸出在分頁頁面中出現的頁面。例如,如果您想顯示上面示例中第三頁上將顯示的20篇文章,您可以使用以下代碼:$args = array( 'posts_per_archive_page' => '20', 'paged' => '3' );
另一種查詢相同文章的方法是使用offset
參數:
$args = array( 'posts_per_page' => '20', 'offset' => '40' );
這將跳過前40篇文章(這將出現在前兩頁存檔頁面中),並獲取接下來的20篇文章(這將出現在第三頁存檔頁面中)。 WordPress 的魅力之一在於它經常為您提供多種實現目標的方法!
您還可以完全關閉分頁功能,以確保所有文章都顯示在同一頁面上:
$args = array( 'nopaging' => true );
總結
WP_Query
類在確定要查詢的文章數量、顯示文章的順序以及要顯示的文章狀態方面提供了極大的靈活性。
其中一些參數對於查詢特定類型的文章至關重要(例如,附件的'post_status' => 'inherited'
),而其他參數只是讓您更好地控制查詢的運行方式。
通過使用這些參數,您可以創建自定義查詢,這些查詢的功能遠不止簡單地輸出最新的已發布文章。
此文章已更新,並包含來自 Nitish Kumar 的貢獻。 Nitish 是一位網絡開發人員,擁有在各種平台上創建電子商務網站的經驗。他利用空閒時間從事個人項目,使他的日常生活更輕鬆,或者與朋友一起進行漫長的傍晚散步。
以上是WP_QUERY參數:狀態,順序和分頁的詳細內容。更多資訊請關注PHP中文網其他相關文章!