过期域名预定抢注

 找回密碼
 免费注册

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

[複製鏈接]
發表於 2009-1-10 09:57:40 | 顯示全部樓層 |閱讀模式
本帖最後由 dxszzcylm 於 2009-1-31 23:40 編輯
5 ^0 e, V8 }3 W* |1 P& Z3 u
( A8 R) y7 x2 Q2 l! X' L2.避免在多循環中出現重複文章
3 |2 I6 A- W# V* S! f
9 A) a& P6 H; F' x) M問題:由於「雜誌型」主題的流行,現在很多WordPressy用戶在他們的首頁上都使用了多個循環,因此他們也迫切需要在第二個循環上避免出現重複文章。
6 [) L& ~' n. ?. L解決方案:使用PHP數組就能輕鬆解決這一問題* z0 O: z' X) D2 @  `( h
創建一個PHP數組,並把第一個循環的所有文章ID放在其中* Y7 u" Z8 B1 b3 A
<h2>Loop n°1</h2>6 {5 s. Q8 H' q6 V
<?php
2 r: s$ M% I4 R  ~5 W5 }$ids = array();+ v' D8 `8 r& u+ h5 H8 \
while (have_posts()) : the_post();
5 F8 q5 q9 Q' Hthe_title();/ M1 d* _( e  c; e
?>( p* J3 u0 f1 f  }# \. s3 O
<br /># \, o0 n9 U9 }& a
<?php $ids[]= $post->ID;
0 E0 l; b5 L0 ^( X  J3 bendwhile; ?>
% u+ T8 P- O# ^; z對於第二個循環:使用PHP函數in_array()來檢查$ids數組中是否包含了某個文章ID。如果這個文章ID沒有包含在此數組中,意味著第一個循環中沒有此篇文章,那麼系統就可以顯示它了。
4 o' j/ K# d3 t<h2>Loop n°2</h2>0 j5 W4 ]1 H# d9 T
<?php
: i" D3 P' s" r( w4 o4 \query_posts("showposts=50");1 [1 _; h7 m) n! E5 `/ j
while (have_posts()) : the_post();
1 N* ^: _: M9 uif (!in_array($post->ID, $ids)) {, V" j. D4 T( [+ {, T( F- l( z
the_title();?>' q7 L) W( m  p7 \( ~# W
<br />/ D  K2 P  @3 W- Y4 g$ I; ]& _
<?php }* I# C* u2 x7 @6 {. W# P% B
endwhile; ?>4 z  m5 k  b7 k; a0 `
. ^# C: {$ [2 d, n5 m( d7 U- x
代碼說明:執行第一個循環時,其中的所有文章ID都會被放到一個數組變量中。因此,第二個循環執行時,我們只要到這個數組中檢查當前的文章ID是否已顯示在第一個循環中就可以了。

評分

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

查看全部評分

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

使用道具 舉報

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

本版積分規則

过期高净值品牌域名预定抢注

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

GMT+8, 2025-7-4 05:16

By DZ X3.5

小黑屋

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