过期域名预定抢注

 找回密碼
 免费注册

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

[複製鏈接]
發表於 2009-1-10 09:57:40 | 顯示全部樓層 |閱讀模式
本帖最後由 dxszzcylm 於 2009-1-31 23:40 編輯 + F6 d5 b7 O" k; q
. X5 h# D4 z% S+ B1 t! ]% }" U1 R6 ^
2.避免在多循環中出現重複文章9 o. z: P; i/ x, x
# q" ^0 L! H! w6 B0 s$ h
問題:由於「雜誌型」主題的流行,現在很多WordPressy用戶在他們的首頁上都使用了多個循環,因此他們也迫切需要在第二個循環上避免出現重複文章。 9 @* D6 ]4 n2 ?7 v2 o9 `
解決方案:使用PHP數組就能輕鬆解決這一問題
" n2 a0 G- W, K3 l7 f7 \3 \創建一個PHP數組,並把第一個循環的所有文章ID放在其中
$ N6 D2 g6 |% a+ i( I<h2>Loop n°1</h2>6 E. Q  U+ ~3 g7 C# k% I% A4 x
<?php5 y9 b, a7 Q! u
$ids = array();* L# K: }4 O9 E/ ]* i& w
while (have_posts()) : the_post();) N; s, k' E! Z. s4 m3 V( `
the_title();
8 p, \0 ~/ d# r# R& y7 m! m4 u?>
0 p# K0 i" o1 }! t4 ^5 K<br />
3 _! R7 B' g6 c5 ~& n<?php $ids[]= $post->ID;
0 e6 S0 g" O/ K% E1 r$ zendwhile; ?>4 j& _0 y4 M  ^# Q
對於第二個循環:使用PHP函數in_array()來檢查$ids數組中是否包含了某個文章ID。如果這個文章ID沒有包含在此數組中,意味著第一個循環中沒有此篇文章,那麼系統就可以顯示它了。 5 o% u6 I' z5 E4 n& [7 E  B2 ?1 R
<h2>Loop n°2</h2>
$ ?) Z# P2 Y9 m. d4 G! s- }<?php
0 a& {1 }" M$ E# H0 K& Z% ~0 Vquery_posts("showposts=50");( a) E: Y" s) l/ K
while (have_posts()) : the_post();
3 F/ ]( R6 Y, n6 T% P" R+ Xif (!in_array($post->ID, $ids)) {
, y3 l" ^: P) \! w3 d5 A  W* h6 w1 ?the_title();?>
# y* E% [5 ^/ s<br />
# s- g2 w# V7 R7 P: r( ]<?php }
; z/ |+ u, p) bendwhile; ?>
3 e8 m. ?0 c8 l# K
6 v/ c% K( a3 D- [$ n, ^; t代碼說明:執行第一個循環時,其中的所有文章ID都會被放到一個數組變量中。因此,第二個循環執行時,我們只要到這個數組中檢查當前的文章ID是否已顯示在第一個循環中就可以了。

評分

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

查看全部評分

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

使用道具 舉報

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

本版積分規則

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

GMT+8, 2025-2-17 18:00

By DZ X3.5

小黑屋

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