过期域名预定抢注

用戶名  找回密碼
 免费注册

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

[複製鏈接]
發表於 2009-1-10 09:57:40 | 顯示全部樓層 |閱讀模式
本帖最後由 dxszzcylm 於 2009-1-31 23:40 編輯 # u/ k" _) H7 }5 G
2 Z! ]- x- ]% r! ?8 K4 H; D  e* V5 c
2.避免在多循環中出現重複文章* m: K1 h7 ]6 ?4 y/ q0 A5 g
$ T* m5 M$ z; E) W+ U
問題:由於「雜誌型」主題的流行,現在很多WordPressy用戶在他們的首頁上都使用了多個循環,因此他們也迫切需要在第二個循環上避免出現重複文章。
; {! Z9 S7 @* a9 p$ ~解決方案:使用PHP數組就能輕鬆解決這一問題
9 B: B) L% _6 P0 ]/ s創建一個PHP數組,並把第一個循環的所有文章ID放在其中& w: r; U- A/ A) c9 D- @# g7 G
<h2>Loop n°1</h2>
5 G3 s* }; M! h# W<?php! F( Y  H( K0 C" g0 m
$ids = array();
: `' N4 b$ e) A. e9 c+ c; jwhile (have_posts()) : the_post();
/ Q3 H( v1 G4 ]- Bthe_title();% a* H& s  h$ `7 k4 s2 `
?>% o& k- d: Z! k3 x2 q3 u
<br />
& N. j+ A& i! J; s' o+ ~' E5 y! a<?php $ids[]= $post->ID;
& r/ \+ \3 K- h8 R  \1 ^) zendwhile; ?>
. a+ z; b$ h9 Z: Z對於第二個循環:使用PHP函數in_array()來檢查$ids數組中是否包含了某個文章ID。如果這個文章ID沒有包含在此數組中,意味著第一個循環中沒有此篇文章,那麼系統就可以顯示它了。 & |6 h. e% m0 q* R0 Q. z  |# z
<h2>Loop n°2</h2>0 A& c! O6 b/ a1 }
<?php
) M) f* `) `2 w* v9 B$ Z: Wquery_posts("showposts=50");) m2 E' u& p; A4 N. U: S# x8 C+ |
while (have_posts()) : the_post();
; Y6 l3 ~/ h2 V+ k( Yif (!in_array($post->ID, $ids)) {' h# o( n, f" j6 I8 L. M/ F$ v9 \
the_title();?>
% s: a8 S+ ~, \- A! G% r<br />
+ S! @1 L1 ], h% H5 R( h: W+ w<?php }8 n/ `! p  \% h; Q6 O
endwhile; ?>" p5 E! @+ H1 x) n
7 f% e- \) M7 i
代碼說明:執行第一個循環時,其中的所有文章ID都會被放到一個數組變量中。因此,第二個循環執行時,我們只要到這個數組中檢查當前的文章ID是否已顯示在第一個循環中就可以了。

評分

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

查看全部評分

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

舉報

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

本版積分規則

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

GMT+8, 2025-4-14 09:31

By DZ X3.5

小黑屋

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