过期域名预定抢注

 找回密碼
 免费注册

WordPress的10個殺手級Hack技巧(2)

[複製鏈接]
發表於 2009-1-10 09:57:40 | 顯示全部樓層 |閱讀模式
本帖最後由 dxszzcylm 於 2009-1-31 23:40 編輯 3 v0 D' y8 F/ ]- R( E4 J# |/ |
! `# e# Q" k! s2 k+ z2 x2 d( K9 a
2.避免在多循環中出現重複文章& C+ i3 j; h1 p& Q. ]; H! m

7 U6 X) M- {0 |" x( j2 Z問題:由於「雜誌型」主題的流行,現在很多WordPressy用戶在他們的首頁上都使用了多個循環,因此他們也迫切需要在第二個循環上避免出現重複文章。
$ q% l; Z/ l; m0 h2 T3 ]" `解決方案:使用PHP數組就能輕鬆解決這一問題" e9 s. `# Z" b# e, @& {& p
創建一個PHP數組,並把第一個循環的所有文章ID放在其中( B9 `" i* _2 F5 p$ N1 k, ~
<h2>Loop n°1</h2>
" h4 U& I( p: R" g<?php
. c' K1 d  e8 _3 A4 r$ids = array();9 M3 S" ]; K) l! P! W& ^
while (have_posts()) : the_post();
! }: F& e+ {' y% j' _6 ~the_title();
8 k8 d; F: K4 P% {% y6 @?>8 ?* q8 U) b$ v0 d+ @$ q
<br />
: x: e6 Z; Z& e6 M<?php $ids[]= $post->ID;
# j, d7 e0 y# f1 d) B* [endwhile; ?>
) Y0 o; E! X, L9 x對於第二個循環:使用PHP函數in_array()來檢查$ids數組中是否包含了某個文章ID。如果這個文章ID沒有包含在此數組中,意味著第一個循環中沒有此篇文章,那麼系統就可以顯示它了。 3 e6 Y* V& N* `
<h2>Loop n°2</h2>
6 C, I/ q4 G% o" I* f- U<?php
5 f" H- E( o' j. q# N+ bquery_posts("showposts=50");
4 x3 n7 D+ c3 c2 O8 b! @while (have_posts()) : the_post();
5 k8 p# p0 a) z5 T9 s1 Aif (!in_array($post->ID, $ids)) {: ^% |# G# |3 I5 [8 m# x3 y
the_title();?>
% s( x) a/ Y& C+ d, F<br />3 R/ {9 ^3 z; W
<?php }. L0 w6 [( m7 x$ i
endwhile; ?>
8 C- O" N! V: g$ w% }- C
$ y3 h2 \1 @2 R5 p8 I代碼說明:執行第一個循環時,其中的所有文章ID都會被放到一個數組變量中。因此,第二個循環執行時,我們只要到這個數組中檢查當前的文章ID是否已顯示在第一個循環中就可以了。

評分

參與人數 1 +2 收起 理由
dxszzcylm + 2

查看全部評分

發表於 2009-1-31 23:41:06 | 顯示全部樓層
不錯的技術文章!
回復 给力 爆菊

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 免费注册

本版積分規則

點基跨境 數位編輯創業論壇

GMT+8, 2025-4-15 20:23

By DZ X3.5

小黑屋

快速回復 返回頂部 返回列表