用WP_Query自定義WordPress主迴圈
我們知道操作 WordPress 主迴圈(WordPress Loop)最容易的方法是使用 query_posts 函式。
但是使用 query_posts 直接修改 WordPress 預設的主迴圈,會有以下的問題:
會干擾那些用到了 WordPress 迴圈的外掛。
可能使一些 WordPress 條件判斷函式失效。
需要去處理重新設定,回滾和偏移等問題。
使用 WP_Query 自定義 WordPress Loop
所以最好是使用 WP_Query,並建立自己的 WordPress 迴圈。
使用 WP_Query 第一步是建立你自己的變數,比如我們要建立一個最新日誌列表,就可以使用下面的程式碼:
<?php
$recentPosts = new WP_Query();
$recentPosts->query(`showposts=5`);
?>
上面程式碼定義了一個叫做 recentPosts 的變數,它是一 WP_Query 類的一個例項。然後我使用了 WP_Query 的一個方法開始一個查詢,我們可以使用和 query_posts 函式一樣的引數。現在就可以開始我們自己的迴圈了:
<?php while ($recentPosts->have_posts()) : $recentPosts->the_post(); ?>
<!– do some stuff here –>
<?php endwhile; ?>
上面我們用了 WP_Query 的兩個方法,分別是 have_posts 和 the_post。你可以從這篇文章全域性變數和 WordPress 主迴圈瞭解更多關於這兩個函式。
這樣做的好處是在迴圈中,我們可以使用標準的 post 模板函式。比如下面是使用自定義的 Loop 先是最新5篇文章的完整程式碼:
<h 3>最新日誌</h3>
<ul>
<?php
$recentPosts = new WP_Query();
$recentPosts->query(`showposts=5`);
?>
<?php while ($recentPosts->have_posts()) : $recentPosts->the_post(); ?>
<li><a href=”<?php the_permalink() ?>” rel=”bookmark”><?php the_title(); ?></a></li>
<?php endwhile; ?>
<?php wp_reset_query(); ?>
</ul>
簡單總結
使用 WP_Query 自定義 WordPress 迴圈是不干擾預設的 WordPress 主迴圈,而自定義查詢的一種最簡單最好方法。所以我們還能一個頁面同時執行完全獨 WordPress 迴圈。
原文:我愛水煮魚http://blog.wpjam.com/article/define-wordpress-loop-using-wp_query/
相關文章
- WordPress開發入門07:WP_Query 自定義迴圈
- WordPress主題製作進階#10自定義主頁
- 自定義 View 迴圈滾動刻度控制元件View控制元件
- wordpress 生成自定義 meta box
- wordpress 自定義登入表單
- wordpress 自定義路由及展示頁路由
- 讓自定義的容器,也能基於範圍迴圈
- RNN 迴圈神經網路系列 5: 自定義單元RNN神經網路
- 自定義雙向迴圈連結串列基本函式介面函式
- WordPress開發入門08:自定義函式和WordPress鉤子函式
- WordPress新增自定義sidebar側邊欄功能IDE
- 技術圈的部落主義
- Hibernate 自定義主鍵
- 小程式自定義音訊元件,帶滾動條,IOS迴圈失效問題音訊元件iOS
- 短視訊直播原始碼,自定義圖片或視訊的迴圈播放原始碼
- WordPress開發入門06:條件判斷與迴圈
- JavaScript的map迴圈、forEach迴圈、filter迴圈、reduce迴圈、reduceRight迴圈JavaScriptFilter
- OpenRTMFP/Cumulus Primer(8)CumulusServer主程式主迴圈分析Server
- 自定義單連結串列佇列的基本介面函式(非迴圈佇列)佇列函式
- 自定義部落格園主題
- ModernUI教程:建立自定義主題UI
- win10如何自定義主題_win10怎麼設定自定義主題Win10
- C語言——迴圈結構(for迴圈,while迴圈,do-while迴圈)C語言While
- 微信自定義分享到朋友圈APIAPI
- 一文說透WordPress的自定義文章型別型別
- 無限for迴圈(死迴圈)
- 【JavaScript實用技巧(一)】迴圈遍歷與跳出迴圈遍歷JavaScript
- 字典功能的應用(迴圈)
- for 迴圈中倒序 用reverse
- while迴圈以及do while迴圈While
- Custom Post Types [2.1.14] - WordPress高階自定義外掛
- WordPress自定義欄位獲取get_post_meta函式函式
- 迴圈
- if迴圈
- Win10系統怎麼自定義更改主題 win10自定義修改主題的方法Win10
- netty自定義Decoder用於自定義協議Netty協議
- Hexo 主題開發之自定義模板Hexo
- Hibernate自定義產生主鍵方式