亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > CMS > Wordpress > 正文

WordPress中查詢文章的循環Loop結構及用法分析

2024-09-07 00:48:11
字體:
來源:轉載
供稿:網友

這篇文章主要介紹了WordPress中查詢文章的循環Loop結構及用法分析,順帶介紹了提供各種查詢方法的WP_Query類的一些基本情況,需要的朋友可以參考下。

WordPress 上獲取文章最重要的就是循環(Loop),事實上循環就是去數據庫查詢到相應的文章,然后暫時儲存到全局變量里邊,需要的時候一篇一篇的輸出出來,WordPress 的循環設計的非常好,完成一次循環需要執行 2000 多行代碼,而你在使用循環的時候看到的只是一個簡單 while 循環加上幾個函數,初學者也很好理解。

  1. <?php 
  2. if( have_posts() ): 
  3.   while( have_posts() ): 
  4.     the_post(); 
  5.     
  6.   endwhile
  7. endif
  8. ?> 

上邊就是一個普通的主循環結構,首先用 have_posts() 函數判斷是否有文章,有則用 while 語句循環,在循環體里邊調用 the_posts() 函數,the_posts() 函數用來告訴 WordPress 核心的查詢類,已經查過一篇文章了,每調用一次 the_posts(),循環中的當前文章就會改變。

當調用幾次 the_posts() 之后,文章已經全部循環完畢,就讓 have_posts() 函數返回 False 來結束循環,所以,一個普通的循環應該是這樣的:

  1. <?php if( have_posts() ): ?> 
  2.   <ul> 
  3.     <?php while( have_posts() ):the_post();?> 
  4.       <li <?php post_class(); ?>> 
  5.         <?php the_title( '<h3>''</h3>' ); ?> 
  6.       </li> 
  7.     <?php endwhile; ?> 
  8.   </ul> 
  9. <?php endif; ?> 

WP_Query類

循環中所用到的方法都是來自于WP_Query類,這里再對WP_Query類做一下科普:

WP_Query 類的功能包括處理查詢條件、去數據庫獲取文章、整理和儲存文章、文章循環、根據文章查詢條件判斷頁面類型。

屬性

$query

傳入的查詢條件。

$query_vars

處理 $query 得到的可以使用的查詢條件。

$queried_object

根據查詢類型給出的查詢歸屬。比如如果是根據分類查詢,那么返回一個包含分類信息的類;如果是標簽頁則返回包含標簽信息的類;作者頁等以此類推。

$queried_object_id

返回 $queried_object 的 ID.比如分類就是分類 ID;標簽就是標簽 ID;以此類推。

$posts

從數據庫中查詢到的文章和文章信息被以數組的形式儲存在這個變量里,每篇文章是一個從 WP_Post 類實例化的對象。

$post_count

當前文章數量,換句話說就是 $posts 變量里存儲了幾篇文章。

$found_posts

 
統計如果不啟用分頁會有多少文章。
 
$max_num_pages
 
總頁數,當前文章被分成幾頁。

$current_post

當前文章的索引值。在循環中,開始循環 $current_post 為 –1,每循環一次則加 1,它表示當前循環到的文章在 $posts 變量(數組)中的索引值。

$post

循環中當前的文章,是一個包含文章和文章信息通過 WP_Post 類實例化的對象。

$is_single, $is_page, $is_archive, $is_preview, $is_date, $is_year, $is_month, $is_time, $is_author, $is_category, $is_tag, $is_tax, $is_search, $is_feed, $is_comment_feed, $is_trackback, $is_home, $is_404, $is_comments_popup, $is_admin, $is_attachment, $is_singular, $is_robots, $is_posts_page, $is_paged

根據查詢條件判斷當前是什么頁面,然后儲存在些變量里,詳情可以參考 《 WordPress 頁面判斷函數 》。

方法

init()

初始化對象,所有屬性設置為 null、-1、0 或 False,刪除一些屬性。

parse_query( $query )

解析并保存查詢字符串。

parse_query_vars()

在之前的 WordPress 版本中和 parse_query() 一樣的功能,現在直接調用 parse_query() 就好了。

get( $query_var )

根據名字獲取一個查詢條件。

set( $query_var, $value )

設置一個查詢條件。

get_posts()

根據現有的查詢條件去數據庫獲取文章,并保存在 $posts 屬性里,同時設置好 $post_count 屬性。此函數的返回值就是存儲文章的 $posts 屬性。

next_post()

(循環控制)將 $current_post 加 1,也就是把當前文章向前推進一篇,同時把推進后的當前文章添加到 $post 屬性里,然后返回 $post 屬性。

the_post()

(循環控制)進入下一篇文章,調用 next_post() 函數,然后把推進后的當前文章導入到全局變量里邊。

have_posts()

(循環控制)判斷循環是否完成,如果所有文章都循環完畢或者根本就沒有文章則返回 False.

rewind_posts()

(循環控制)跳到循環開頭。相當于重置 $current_post 屬性和 $post 屬性。

query( $query )

查詢文章,包括調用 init() 方法、parse_query() 方法和 get_posts() 方法,并返回 get_posts() 方法的返回值,用此函數可以完成一個文章查詢的完整操作。

get_queried_object()

生成 $queried_object 屬性,如果已經存在則直接返回 $queried_object 屬性,所以說,因為默認 $queried_object 是不存在的,想要調用 $queried_object 屬性一定要直接使用 get_queried_object() 方法。

get_queried_object_id()

生成 $queried_object_id 屬性,如果已經存在則直接返回 $queried_object_id 屬性。類似 get_queried_object() 方法。

WP_Query( $query = '' ) , __constructor( $query = '' )

WP_Query 類的構造函數,實例化類的時候自己調用,如果你傳入一個查詢條件,它會自動調用 query() 方法幫你查詢文章。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产精品∨欧美精品v日韩精品| 亚洲第一网站免费视频| 欧美肥婆姓交大片| 欧美专区在线观看| 亚洲毛茸茸少妇高潮呻吟| 日韩中文av在线| 精品亚洲精品福利线在观看| 国产成人精品综合| 亚洲www永久成人夜色| 中文字幕亚洲欧美一区二区三区| 亚洲乱亚洲乱妇无码| 欧美日韩成人在线播放| 欧美一级片久久久久久久| 国产成人短视频| 欧美黄色片视频| 国产中文字幕亚洲| 国产成人97精品免费看片| 97福利一区二区| 狠狠躁夜夜躁人人躁婷婷91| 久久久久久久久久久av| 91精品成人久久| 国产ts一区二区| 日本欧美精品在线| 色在人av网站天堂精品| 国产综合色香蕉精品| 国产精品久久久久av| 91久久精品久久国产性色也91| 91爱爱小视频k| 一本大道香蕉久在线播放29| 亚洲人成网站999久久久综合| 在线播放日韩欧美| 上原亚衣av一区二区三区| 欧美激情在线观看视频| 日韩综合视频在线观看| 欧美日韩视频免费播放| 91精品视频免费观看| 日韩av中文字幕在线免费观看| 精品日韩视频在线观看| 欧美激情免费在线| 精品在线观看国产| 国产精品直播网红| 亚洲免费高清视频| 欧美人与物videos| 国产精品久久网| 日产精品久久久一区二区福利| 成人网在线免费看| 久久精品小视频| 国产成人精品视频| 91精品国产综合久久香蕉的用户体验| 亚洲最大激情中文字幕| 欧美一区二区影院| 亚洲精品中文字幕av| 亚洲美腿欧美激情另类| 日韩www在线| 日韩视频精品在线| 最近中文字幕mv在线一区二区三区四区| 亚洲三级黄色在线观看| 国产婷婷色综合av蜜臀av| 欧美激情手机在线视频| 久久精品视频一| 俺去啦;欧美日韩| 18久久久久久| 最近2019年日本中文免费字幕| 日韩av中文在线| 美日韩丰满少妇在线观看| 色综合久久精品亚洲国产| 国模视频一区二区| 国产欧美一区二区三区四区| 51久久精品夜色国产麻豆| 日韩电影在线观看免费| 免费不卡欧美自拍视频| 国产成人avxxxxx在线看| 一区二区三区国产在线观看| 国产在线不卡精品| 国外色69视频在线观看| 久久久久国产一区二区三区| 成人亲热视频网站| 九九九久久久久久| 成人乱色短篇合集| 性色av一区二区咪爱| 久久久之久亚州精品露出| 国产成人自拍视频在线观看| 欧美—级a级欧美特级ar全黄| 欧美大片欧美激情性色a∨久久| 一区二区三区久久精品| 亚洲精品欧美一区二区三区| 欧美激情精品久久久久久免费印度| 欧美国产日韩一区二区三区| 久久免费高清视频| 欧美日本啪啪无遮挡网站| 中文字幕亚洲第一| 亚洲欧美激情另类校园| 国产一区二区三区中文| 国产主播在线一区| 亚洲自拍偷拍色片视频| 国产国语刺激对白av不卡| 91精品国产综合久久久久久蜜臀| 美女扒开尿口让男人操亚洲视频网站| 性夜试看影院91社区| 97在线观看免费高清| 国产精品96久久久久久又黄又硬| 欧美激情中文字幕在线| 日本精品视频在线| 久久中国妇女中文字幕| 久久免费少妇高潮久久精品99| 一区二区三区美女xx视频| 黄色成人在线播放| 欧美自拍大量在线观看| 红桃av永久久久| www.亚洲成人| 日韩美女视频免费看| 亚洲欧美精品中文字幕在线| 欧美俄罗斯乱妇| 成人激情春色网| 91国产视频在线播放| 九九热视频这里只有精品| 亚洲精品国产精品国自产观看浪潮| 91精品国产九九九久久久亚洲| 成人免费xxxxx在线观看| 中文字幕一精品亚洲无线一区| 清纯唯美日韩制服另类| 亚洲福利视频网| 国产精品久久综合av爱欲tv| 亚洲精品国产拍免费91在线| 亚洲国产精品成人va在线观看| 亚洲一区二区三区视频| 欧洲亚洲免费视频| 欧美成人激情视频免费观看| 一本色道久久88综合亚洲精品ⅰ| 55夜色66夜色国产精品视频| 亚洲精品久久久久中文字幕欢迎你| 欧美激情视频给我| 日韩中文在线视频| 91精品视频播放| 国产在线日韩在线| 精品久久久久久久久久国产| 久精品免费视频| 激情亚洲一区二区三区四区| 成人中文字幕在线观看| 亚洲精品aⅴ中文字幕乱码| 亚洲最新av在线网站| 国外日韩电影在线观看| 91国产高清在线| 三级精品视频久久久久| 精品国产一区久久久| 91久久国产精品91久久性色| 中文字幕日韩av电影| 欧美专区日韩视频| 欧美刺激性大交免费视频| 亚洲欧美一区二区三区在线| 亚洲精品av在线播放| 国产91在线播放精品91| 精品无人国产偷自产在线| 国产一区二区三区视频免费| 国产亚洲欧洲在线| 久久久精品亚洲| 97久久久免费福利网址| 国产精品高潮在线| 亚洲一区二区三区777| 久久久精品视频成人| 日韩av日韩在线观看| 久久精品视频网站| 国产精品成人一区| 亚洲专区中文字幕|