转:绝对干货--WordPress自定义查询wp_query所有参数详细注释
生活随笔
收集整理的這篇文章主要介紹了
转:绝对干货--WordPress自定义查询wp_query所有参数详细注释
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1 <?php
2 /**
3 * WordPress 查詢綜合參考
4 * 編譯:luetkemj - luetkemj.com
5 *
6 * 官方文檔: http://codex.wordpress.org/Class_Reference/WP_Query
7 * 源代碼: http://core.trac.wordpress.org/browser/tags/3.5.1/wp-includes/query.php
8 */
9
10 $args = array(
11
12 //作者參數 - 顯示某些作者發表的文章
13 'author' => '1,2,3,' //(整數) - 作者ID [使用減號 (-) 排除某個作者 ID, 如: 'author' => '-1,-2,-3,']
14 'author_name' => 'luetkemj', //(字符串) - 使用 'user_nicename' 用戶昵稱,(不是名稱)
15
16 //分類參數 - 顯示某個分類里面的文章
17 'cat' => 5,//(整數) - 分類id
18 'category_name' => 'staff', 'news', //(字符串) - 分類別名(不是名稱)
19 'category__and' => array( 2, 6 ), //(數組) - 分類id
20 'category__in' => array( 2, 6 ), //(數組) - 分類id
21 'category__not_in' => array( 2, 6 ), //(數組) - 分類id
22
23 /////標簽參數 - 顯示含有某些標簽的文章
24 'tag' => 'cooking', //(字符串) - 標簽別名
25 'tag_id' => 5, //(整數) -標簽id
26 'tag__and' => array( 2, 6), //(數組) - 標簽id
27 'tag__in' => array( 2, 6), //(數組) - 標簽id
28 'tag__not_in' => array( 2, 6), //(數組) - 標簽id
29 'tag_slug__and' => array( 'red', 'blue'), //(數組) - 標簽別名
30 'tag_slug__in' => array( 'red', 'blue'), //(數組) - 標簽別名
31
32 //自定義分類法參數 - 顯示某些自定義分類法里面的文章
33 //重要提示: tax_query 使用多維數組
34 //這種查詢結構允許我們查詢多個自定義分類法
35 'tax_query' => array( //(數組) - 使用自定義分類法查詢參數 (3.1及以后版本可用).
36 'relation' => 'AND', //(字符串) - 可用的值有 'AND' 或 'OR' 和 SQL 的 JOIN 作用是相同的
37 array(
38 'taxonomy' => 'color', //(字符串) - 自定義分類法
39 'field' => 'slug', //(字符串) - 使用別名還是分類作為查詢條件 ('id' 或 'slug')
40 'terms' => array( 'red', 'blue' ), //(整數/字符串/數組) - 自定義分類法分類條目
41 'include_children' => true, //(布爾值) - 是否包含自分類,默認為真
42 'operator' => 'IN' //(字符串) - 測試條件,可用值為 'IN', 'NOT IN', 'AND'.
43 ),
44 array(
45 'taxonomy' => 'actor',
46 'field' => 'id',
47 'terms' => array( 103, 115, 206 ),
48 'include_children' => false,
49 'operator' => 'NOT IN'
50 )
51 ),
52
53 //文章 & 頁面參數- 基于文章或頁面參數顯示文章
54 'p' => 1, //(整數) - 文章id
55 'name' => 'hello-world', //(字符串) - 文章別名
56 'page_id' => 1, //(整數) - 頁面id
57 'pagename' => 'sample-page', //(字符串) - 頁面別名
58 'pagename' => 'contact_us/canada', //(字符串) - 用斜杠‘/’分割的父頁面別名/子頁面別名來顯示子頁面
59 'post_parent' => 1, //(整數) - 頁面id,只返回子頁面,只對有子頁面的頁面有效
60 'post__in' => array(1,2,3), //(數組) - 需要顯示的文章的id
61 'post__not_in' => array(1,2,3), //(數組) - 需要排除的文章的id
62 //注意:不能在同一個查詢里同時使用 'post__in' 和 'post__not_in'
63
64 //文章類型 & 狀態參數 - 顯示某些文章類型里面的文章
65 'post_type' => array( //(字符串/ 數組) - 文章類型,根據文章類型獲取文章,默認為'post'
66 'post', // - 文章
67 'page', // - 頁面
68 'revision', // - 文章版本
69 'attachment', // - 附件,默認 WP_Query 設置了發布狀態為 'post_status'=>'published', 但是附件默認為 'post_status'=>'inherit',所以你需要設置狀態為 'inherit' 或'any'.
70 'my-post-type', // - 自定義文章類型 (例如:movies)
71 ),
72 'post_status' => array( //(字符串 / 數組) - 使用文章狀態,根據文章狀態獲取文章,默認為 'publish'
73 'publish', // - 已發布的文章或頁面
74 'pending', // -等待復審的文章
75 'draft', // - 處于草稿狀態的文章
76 'auto-draft', // - 自動保存為草稿的文章
77 'future', // - 定時發布的文章
78 'private', // - 未登錄用戶不能查看的私有文章
79 'inherit', // - 版本. 具體參考 get_children.
80 'trash' // - 回收站中的文章 (2.9和以后的版本可用).
81 ),
82
83 //注意:The 'any' 關鍵字可以用在 post_type 和 post_status 查詢,但是不能在數組中使用
84 'post_type' => 'any', // - 獲取所有文章類型里面的文章,除了版本和文章類型參數'exclude_from_search'設置為true的文章類型
85 'post_status' => 'any', // - 獲取處于所有文章狀態的文章,除了版本和文章類型參數'exclude_from_search'設置為true的文章類型
86
87 //分頁參數
88 'posts_per_page' => 10, //(整數) - 每頁顯示的文章數量 (2.1和以后的版本可用), 使用'posts_per_page'=-1 顯示所有文章,如果查詢處于訂閱源中,WordPress用 'posts_per_rss' 選項覆蓋了這里的設置,需要使用這個限制,嘗試使用 'post_limits' 過濾器,或使用 'pre_option_posts_per_rss'過濾器返回 -1
89 'posts_per_archive_page' => 10, //(整數) - n每頁顯示的文章數量 - 只在存檔頁面使用,在存檔頁面和搜索結果頁面覆蓋了 showposts 和 posts_per_page 參數
90 'nopaging' => false, //(布爾值) - 在一頁顯示所有文章或使用分頁,默認值為 'false', 使用分頁
91 'paged' => get_query_var('paged'), //(整數) - 頁數,分頁時顯示第幾頁
92 //注意:使用 get_query_var('page'); 如果查詢在設置為首頁的頁面模版中工作,查詢參數 'page' 擁有文章分頁或內容中使用 <!--nextpage--> 快捷代碼的分頁。
93
94 //偏移參數
95 'offset' => 3, //(int) - 跳過的文章數量
96
97 //排序 & 排序方式參數 - 對獲取的文章進行排序
98 'order' => 'DESC', //(字符串) - 設置 'order_by' 參數升序或降序排列. 默認為'DESC'.
99 //Possible Values:
100 //'ASC' - 升序排列,從小到大 (1, 2, 3; a, b, c).
101 //'DESC' - 降序排列,從大到小 (3, 2, 1; c, b, a).
102 'orderby' => 'date', //(字符串) - 排序依據. 默認為 'date'.
103 //可用的參數有://
104 //'none' - 不排序 (2.8和以后的版本可用)
105 //'ID' - 根據ID排序,注意ID是大寫的
106 //'author' - 根據作者排序
107 //'title' - 根據標題排序
108 //'date' - 根據發表時間排序
109 //'modified' - 根據最后修改時間排序
110 //'parent' - 根據父頁面排序
111 //'rand' - 隨機排序
112 //'comment_count' - 根據評論數量排序 (2.9和以后的版本可用).
113 //'menu_order' - 根據頁面序號排序. 通常在頁面中使用 (編輯頁面時有一個頁面序號的字段) 和附件 ( 插入 / 上傳媒體相冊對話框中的數字), 但是不能對文章類型 'menu_order' 使用數字值 (默認都為 0).
114 //'meta_value' - 注意'meta_key=keyname' 必須也出現在查詢中. 注意排序是按照字母表順序進行的。(如:words),但是數字排序可能會有問題 (如:1, 3, 34, 4, 56, 6, etc, 而不是你希望的:1, 3, 4, 6, 34, 56)。
115 //'meta_value_num' - 根據數字meta值排序 (2.8和以后的版本中可用). 同時需要注意'meta_key=keyname' 也要在查詢中聲明。這個值和上面說明的 'meta_value' 一樣,只不過值允許使用數字排序。
116 //'title menu_order' - 同時使用 menu_order 和 title 排序 更多信息請參考:http://wordpress.stackexchange.com/questions/2969/order-by-menu-order-and-title
117 //'post__in' - 使用 post__in 數組中制定的 ID 順序 (3.5以后的版本中可用).
118
119 //置頂文章參數 - 顯示或忽略置頂文章
120 'ignore_sticky_posts' => false, //(布爾值) - 是否忽略置頂文章,默認為假不忽略. 在返回文章的開頭忽略/排除置頂文章,但是置頂文章還是會在自然查詢中列出。
121 //注意:關于置頂文章的更多信息,請參考:http://codex.wordpress.org/Class_Reference/WP_Query#Sticky_Post_Parameters
122
123 //時間參數 - 顯示某個時間段內的文章
124 'year' => 2012, //(int) - 4 個數字的年份 (如:2011)
125 'monthnum' => 3, //(int) - 月份數字 (從 1 到 12)
126 'w' => 25, //(int) - 一年中的第幾周 (從 0 到 53), 使用 MySQL WEEK 命令,此模式和"start_of_week" 選項相關
127 'day' => 17, //(int) - 月中的天數 (從 1 到 31)
128 'hour' => 13, //(int) - 小時 (從 0 到 23).
129 'minute' => 19, //(int) - 分鐘 (從 0 到 60).
130 'second' => 30, //(int) - 秒 (從 0 到 60).
131
132 //自定義字段參數 - 顯示擁有某個自定義字段的文章
133 'meta_key' => 'key', //(字符串) - 自定義字段的鍵
134 'meta_value' => 'value', //(字符串) - 自定義字段的值
135 'meta_value_num' => 10, //(數字) - 自定義字段的值
136 'meta_compare' => '=', //(字符串) - 測試'meta_value'的操作。可用的值有'!=', '>', '>=', '<', or ='. 默認為 '='.
137 'meta_query' => array( //(數組) - 自定義字段參數 (3.1和以后的版本可用).
138 array(
139 'key' => 'color', //(字符串) - 自定義字段的鍵
140 'value' => 'blue' //(字符串/數組) - 自定義字段的值 (注意:數組的支持僅限于一個比較值: 'IN', 'NOT IN', 'BETWEEN', or 'NOT BETWEEN')
141 'type' => 'CHAR', //(字符串) -自定義字段類型,可用的值有:'NUMERIC', 'BINARY', 'CHAR', 'DATE', 'DATETIME', 'DECIMAL', 'SIGNED', 'TIME', 'UNSIGNED',默認為 'CHAR'
142 'compare' => '=' //(字符串) - 測試的操作,可用的值有: '=', '!=', '>', '>=', '<', '<=', 'LIKE', 'NOT LIKE', 'IN', 'NOT IN', 'BETWEEN', 'NOT BETWEEN'. 默認為:'='
143 ),
144 array(
145 'key' => 'price',
146 'value' => array( 1,200 ),
147 'compare' => 'NOT LIKE'
148 )
149
150 /////權限參數 - 顯示已發布文章,如果用戶有合適的權限,同樣現實私有文章:
151 'perm' => 'readable' //(字符串) 可用的值有:'readable', 'editable' (可能還有其他可用的值我沒有測試)
152
153 //與緩存相關的參數
154 'no_found_rows' => false, //(布爾值) 默認為假,為了分頁,WordPress 在大多數查詢中使用 SQL_CALC_FOUND_ROWS 查詢, 即使你不需要分頁,通過設置這個參數為真,我們告訴了了WordPress不要查詢數據總行數,從而降低數據庫負載,如果設置了這個參數為真,分頁將不工作,更多信息請參考:http://flavio.tordini.org/speed-up-wordpress-get_posts-and-query_posts-functions
155 'cache_results' => true, //(布爾值) 默認為真
156 'update_post_term_cache' => true, //(布爾值) 默認為真
157 'update_post_meta_cache' => true, //(布爾值) 默認為真
158 //注意:緩存是個好東西,通常不建議設為假,更多信息請參考:http://codex.wordpresorg/Class_Reference/WP_Query#Permission_Parameters
159
160 //搜索參數
161 's' => $s, //(字符串) - 傳遞搜索變量到搜索功能,更多信息請參考: http://www.wprecipes.com/how-to-display-the-number-of-results-in-wordpress-search
162 'exact' => true //(布爾值) - 只匹配完整的titles/posts的信號 - 默認值為假,更多信息請參考:https://gist.github.com/2023628#gistcomment-285118
163 'sentence' => true //(布爾值) - 進行短語搜索的信號-默認值為假,更多信息請參考:https://gist.github.com/2023628#gistcomment-285118
164
165 //文章字段參數
166 //關于文章字段參數信息,請參考http://codex.wordpress.org/Class_Reference/WP_Query#Post_Field_Parameters
167
168 //過濾器
169 //關于過濾器的更多信息,請參考:http://codex.wordpress.org/Class_Reference/WP_Query#Filters
170
171 );
172
173 $the_query = new WP_Query( $args );
174
175 // 循環開始
176 if ( $the_query->have_posts() ) :
177 while ( $the_query->have_posts() ) : $the_query->the_post();
178 // 輸出內容
179 endwhile;
180 endif;
181
182 // 重置文章數據
183 wp_reset_postdata();
184
185 ?>
?
轉載于:https://www.cnblogs.com/mopagunda/p/6347464.html
總結
以上是生活随笔為你收集整理的转:绝对干货--WordPress自定义查询wp_query所有参数详细注释的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: [流体力学][NS方程]关于质量、动量、
- 下一篇: 软件实施工程师的发展前景