首頁  >  文章  >  CMS教程  >  如何為wordpress建立動態的置頂文章

如何為wordpress建立動態的置頂文章

藏色散人
藏色散人原創
2020-01-03 09:52:442754瀏覽

如何為wordpress建立動態的置頂文章

如何為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建立動態的置頂文章的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn