国产又猛又爽又黄视频|在线观看人成视频免费|少妇高潮太爽了在线视频|911国产免费无码专区|特黄做受又大又粗又长大片|欧美一级二级免费在线观看|日日夜人人澡人人澡人人看免|欧洲午夜精品一级毛片在线播放

完善的解決方案實(shí)現(xiàn)WordPress讓聚合模塊優(yōu)先顯示置頂文章

2015-09-11 13:10 欄目:技術(shù)開發(fā) 查看(14849)

只要了解互聯(lián)網(wǎng)的人對(duì)WordPress并不陌生,因?yàn)樗谌蚧ヂ?lián)網(wǎng)中占據(jù)著極其重要的地位,據(jù)統(tǒng)計(jì)全球活躍站點(diǎn)中超過(guò)20%是基于WordPress構(gòu)建的。雖然是老外的東西,但在國(guó)內(nèi)也同樣收歡迎,比如淘寶、騰訊的內(nèi)部團(tuán)隊(duì)的博客都是基于WordPress做的。對(duì),WordPress就是一款簡(jiǎn)單的博客開源程序,但因?yàn)樘嗳擞昧?,因此也有太多人一起去完善他,以至于它擁有非常豐富的API,只要有足夠的編程開發(fā)能力,就算是基于它完成門戶、論壇、商城等等類型的應(yīng)用。我們微構(gòu)網(wǎng)絡(luò)開發(fā)的花見(jiàn)網(wǎng)就是基于WordPress做的,也算是一個(gè)輕型門戶了。

當(dāng)然實(shí)際上我們用得更多的還是用它來(lái)做個(gè)人的博客,其次就是做企業(yè)網(wǎng)站;我可以這么說(shuō),它完全滿足95%以上企業(yè)網(wǎng)站的需求。而企業(yè)網(wǎng)站經(jīng)常有這樣一種需求:把重要的信息推薦到前面。其實(shí)就是一個(gè)簡(jiǎn)單的需求。

而WordPress默認(rèn)有該功能(置頂)。官方模版中也保留有這個(gè)功能的作用效果,甚至第三方的開發(fā)者做的也擁有這個(gè)。但也是因?yàn)閃ordPress是為博客而生的,默認(rèn)的該功能其實(shí)非常簡(jiǎn)單,就是在首頁(yè)中把置頂?shù)娘@示在前面。而且博客一般就是一個(gè)大列表,然后邊欄信息。而企業(yè)網(wǎng)站的首頁(yè)及內(nèi)頁(yè)邊欄往往就可能有一些聚合的信息模塊,比如最新的文章、推薦文章、推薦產(chǎn)品等等。

那么諸如這樣的需求的時(shí)候改怎么比較完善的解決呢?我知道網(wǎng)上有很多關(guān)于置頂?shù)奈恼拢矣X(jué)得那些文章不夠?qū)嵱?,或者說(shuō)太千遍一律了。而我們做過(guò)了,就把一些簡(jiǎn)單的思路分享出來(lái),也來(lái)充實(shí)一下與之相關(guān)的內(nèi)容。

ddd

以上就是我們之前做過(guò)的一個(gè)項(xiàng)目的某個(gè)位置的截圖,圖中是兩個(gè)聚合模塊。而紅線框里面的數(shù)據(jù)就是置頂?shù)?。那么就其中的一個(gè)模塊來(lái)說(shuō),具體的需求就是這樣的:讀取5條數(shù)據(jù),如果有置頂?shù)南蕊@示置頂?shù)?,如果置頂?shù)某^(guò)5條也只顯示最新的5條置頂文章,如果置頂?shù)牟蛔?條,那么接下來(lái)顯示其他最新的(里面不重復(fù)已經(jīng)置頂?shù)模?,假如置頂?shù)奈恼翴D有1、2、3共3篇,那么下面接著顯示沒(méi)有置頂?shù)?篇文章。

與其說(shuō)上面是需求,還不如說(shuō)是分析問(wèn)題的想法,其實(shí)個(gè)人感覺(jué)這樣的想法是相對(duì)比較完善的。那么我們就貼出基本的核心代碼來(lái)演示這個(gè)需求實(shí)現(xiàn)過(guò)程。代碼如下:

/*首先來(lái)正兒八經(jīng)顯示置頂?shù)?/
//$args的解釋,其實(shí)這個(gè)解釋在網(wǎng)上已經(jīng)很多了,這里就不廢話了,依次是約束欄目、只讀取置頂?shù)摹⒆疃囡@示多少條
$args=array('cat' => $catid,'post__in' => get_option('sticky_posts'),'showposts' => 5)
//定義一個(gè)變量$ding把讀取出來(lái)的資源數(shù)據(jù)給它
$ding=query_posts($args);
//非常常規(guī)的循環(huán)
if(have_posts()) :while(have_posts()) : the_post();
//輸出html等內(nèi)容....
endwhile;wp_reset_query();endif;
/*嘿,這塊程序跑了一半,如果不夠,我們還得繼續(xù)顯示普通文章呀*/
//下面這個(gè)$num很簡(jiǎn)單,但我覺(jué)得它才是我們這里這段代碼的精髓?。?!
$num=5-count($ding);
//這里的條件第一個(gè)依然是只要特點(diǎn)分類的,當(dāng)然如果是全部欄目?jī)?nèi)容這個(gè)可以不要,第二個(gè)就是排除置頂?shù)模谌齻€(gè)嘛就是還剩下多少需要這些普通文章來(lái)湊數(shù)的
$args2=array('cat' => $catid,'post__not_in' =>get_option('sticky_posts'),'showposts' => $num);
query_posts($args2);
//非常常規(guī)的循環(huán)又開始了
if(have_posts()) : while (have_posts()) : the_post();
//輸出html等內(nèi)容....
endwhile;  wp_reset_query(); endif;

上述代碼就是實(shí)現(xiàn)上面截圖所描述需求的核心代碼,如果你有相同需求可以直接把代碼替換上去使用就可以了,這個(gè)跟網(wǎng)上很多文章不同的就是,網(wǎng)上的可能只是相當(dāng)于一個(gè)官方的開發(fā)文檔,其實(shí)很多也確實(shí)就是翻譯官方的文檔來(lái)的,至于怎么使用有可能作者自己都搞不清楚。

與我們的項(xiàng)目經(jīng)理聯(lián)系
掃二維碼與項(xiàng)目經(jīng)理溝通

我們?cè)谖⑿派?4小時(shí)期待你的聲音

解答本文疑問(wèn)/技術(shù)咨詢/運(yùn)營(yíng)咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流

轉(zhuǎn)載請(qǐng)注明出處:完善的解決方案實(shí)現(xiàn)WordPress讓聚合模塊優(yōu)先顯示置頂文章 - 微構(gòu)網(wǎng)絡(luò)
分享:
標(biāo)簽: