2010-06-29 66 views
1

我正在創建雜誌風格的主題(而不是電子商務),並且我想顯示來自ex的3個最新帖子。 X,Y和Z類別,其中第一篇文章將帶有拇指和其他2個唯一標題。我發現了一些類似的解決方案主題,但是當我查看代碼時,他們爲每個類別(2x3 = 6)創建了2個循環,並且這6個循環代碼看起來非常混亂。所以我決定創建函數(例如latest_post_from_category($ cat);)來顯示這篇文章。WordPress按功能循環

問題是我的決定是對的,如果是的話,是否有任何建議讓這個功能更靈活?

謝謝你的時間。

回答

2

使用參數和開關可以使函數變得更加靈活。示例如下

function getPosts($type,$return = false,$amount = 4) 
{ 
    switch($type) 
    { 
     case 'comments': 
     //Get latest comments here 
     break; 
     case 'posts': 
     case 'posts-desc': 
     case 'posts-asc': 
      if($type == 'posts-asc'){ $order = 'ASC';}else{$order = 'DESC';/*default*/} 
      //Get posts 
     break; 
     /*(etc...etc)*/ 
    } 
} 

$comments = getPosts('comments',true,5); //5 comments 

$posts= getPosts('posts-desc',true,6); //5 Latest 

這樣的事情確實可以讓設計走到一起。

大拇指

在關於這一點,你才真正需要的帖子ID和WordPress提供的功能,以便與我上面的例子可以循環和if語句做一個

$i = 0; 
foreach(getPosts('post-asc',true,3) as $row) 
{ 
    $i++; 
    if($i == 1) 
    { 
     //Show thumb for $row 
     if(!wct_display_thumb("width:200px;height:150px", $row->ID)) 
     { 
      //Show title 
     } 
    }else 
    { 
     //Show title for $row! 
    } 
} 
+0

感謝羅伯特的回答,我知道WordPress提供了函數get_posts,它會獲取帖子ID並返回該帖子的數據庫記錄。如果你不難,你可以更廣泛地寫出我們的方法。再次感謝您的時間。 – Mamaduka 2010-06-29 13:53:36

+0

當我已經完成時,Iot將毫無意義地寫出來:http://codex.wordpress.org/WordPress_Lessons – RobertPitt 2010-06-29 14:01:44

+0

感謝Robert提供的這些信息非常有幫助。 – Mamaduka 2010-06-29 15:04:10