主循環 Loop 很是重要,文章(日誌)列表、文章(日誌)內容頁、page頁面等都離不開它,在前面的 WordPress 主題製做教程中咱們也屢次用到,所以在這裏詳細闡述下。 php
(1),在 WordPress 主題中,主循環是如下面這段代碼開始的: ide
<?php if(have_posts()) : ?> <?php while(have_posts()) : the_post(); ?> // the code inside the loop //插入 Loop 中的代碼 <?php endwhile; ?> <?php else : ?> <?php endif; ?>
have_posts() 和 the_post() 這兩個函數都是屬性函數,它們能夠訪問到類 WP_Query 中的方法。 wordpress
have_posts 這個函數去查看當前顯示的日誌數是否達到了在 WordPress 後臺設置的要顯示的日誌數,這個主循環將會繼續直到達到爲止。 函數
若是你研究過 the_post 函數,你會發現它會搜索 $post 這個全局變量。 the_post 函數獲取第一篇日誌(隨後的日誌經過每次循環迭代獲取),並設置日誌的相關數據(如做者,評論數,文章分類等),這些數據是 WordPress 全局的賦給 $post 這個變量,因此能夠訪問它。 oop
在 the_post() 函數被調用以後,你就可使用許多模板函數和全局變量。 post
(2),下面就是如今可用的模板函數的一些例子: url
the_author:獲取做者的名字 the_title:顯示當前日誌的標題 the_content:顯示日誌的內容 the_permalink:顯示日誌的永久連接 URL the_ID:顯示日誌的 ID
(3),下面是可用的全局變量: 日誌
(3-1),全局變量 authordata,你可使用如下代碼調用它: code
global $authordata; echo $authordata->display_name;
經過 authordata 這個全局變量還可讓你獲取:last_name,first_name,ID,user_email,user_url,user_login,description等。 教程
(3-2),全局變量 post,你可使用如下代碼調用它:
global $post; echo $post->post_title;
經過post這個全局變量還可讓你獲取:ID,post_author,post_date,post_excerpt,comment_count等。
全局變量 post ,你能夠經過在一個函數中使用如下代碼調用它:
global $post; echo $post->post_content;
經過這種方法獲取的日誌內容是沒有通過過慮的。若是你想按照你本身喜愛去操縱日誌的內容,好比本身設置日誌內容的顯示方式,經過這種方式獲取的日誌內容很是有用。
(3-4),全局變量 id ,你可使用如下代碼調用它:
global $id; echo $id;最後,到這裏 WordPress 中的主循環 Loop 和全局變量的講解就結束了,但願能根據具體狀況靈活運用。
摘自:http://www.ddbing.com/the-main-loop-in-wordpress-loop-and-global-variables/