這篇文章將為大家詳細講解有關給wordpress創建動態置頂文章的方法,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
如何給wordpress創建動態的置頂文章?
置頂文章的作用是希望長時間引起讀者注意,可以表明站點的簡介、版權聲明、友情鏈接的交換原則等;本文將介紹如何給wordpress創建動態的置頂文章,需要了解的朋友可以參考下
從WordPress 2.7 開始加入了“置頂文章(Sticky Posts)”。置頂文章的作用是希望長時間引起讀者注意,可以表明站點的簡介、版權聲明、友情鏈接的交換原則等。但太長時間的不變也會引起閱讀反感。本文將介紹如何給wordpress創建動態的置頂文章。
從wordpress help forums關于多重循環的各種討論中讓我想到一個使用兩次循環的方法。一個用來查詢并僅顯示某個分類中的文章。另一個用來查詢在所有分類中的所有的文章。第一個查詢是從the codex中復制來的,很容易理解:
代碼如下:
$my_query = new WP_Query('category_name=frontpage&showposts=1');
while ($my_query->have_posts()) :
$my_query->the_post();
$do_not_duplicate = $post->ID;上述代碼的意思是,變量my_query賦值為查詢分類名為frontpage的所有文章的結果,并僅得到一篇文章。關鍵點在最后部分,給變量 do_not_duplicate賦值為返回的單獨文章的ID值。我們在下一步需要這個值。
下面一段代碼是很重要很標準的,可以在許多主題中找到。它能獲取所有日志:
代碼如下:
if (have_posts()) : while (have_posts()) : the_post(); //do stuff like format each postendwhile;
這段代碼獲取所有的日志,并根據//do stuff這行(依賴于模板)的格式顯示。如果僅僅這樣編寫代碼,就會發生你所選的文章(置頂文章)被顯示兩次的情況(一次在置頂區域,另一次則是在所有其他文章區域)。顯示這樣并不好,所以這里要使用到do_not_duplicate函數了。添加到一個if語句中阻止制定文章顯示兩次。下面是代碼:
代碼如下:
if (have_posts()) : while (have_posts()) : the_post(); if( $post->ID == $do_not_duplicate ) continue;//do stuff like format each post endwhile;
代碼中的第二個if語句的意思是,獲取所有日志,且當發現一篇文章的ID值與do_not_duplicate的值相等時中斷執行(continue語句),否則顯示根據//do stuff這行的格式顯示所有其他的文章。記住,do_not_duplicate函數值所代表的文章已經被顯示過了。
就這樣當你把所有內容放到一起得到了什么?一個動態的置頂文章!且最棒的部分是當置頂文章被新的一篇代替,之前的文章會在下面所有文章的區域顯示出來(取決于你選擇了多少文章顯示以及文章的發表頻率)。
關于給wordpress創建動態置頂文章的方法就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。