2014-04-23 56 views
0

我有一個自定義後類型,稱爲:business,每個職位有元關鍵country一個metabox。訂單後通過meta值

我要訂購通過meta值,只顯示3個員額每個meta值帖子:

紐約:

  • 文章標題有meta值紐約
  • 另一篇文章的標題有元價值紐約
  • 另一篇文章的標題有meta值紐約

法國

  • 交標題具有meta值法國
  • 另一個交標題具有meta值法國
  • 另一文章標題已經meta值法國

PS:從另一信息類型places產生的每個的元值

我的代碼:

$n = 0; 
$args = array(
'post_type'=>'business' 
); 
$query_biz = get_posts($args); 
foreach ($query_biz as $biz) { 

    $theme_meta = get_post_meta($biz->ID,'country',true); 

    if($theme_meta == 'France'){ 

     if($n < 3): 
      echo $biz->post_title.'<br/>'; 
     endif; 

    } ... 

$n++; 

} 

全球我想通過meta值職位分開,因爲這:

紐約:< === meta值 | -post標題有meta值紐約 | -another文章標題有meta值紐約 | -another文章標題有meta值紐約

法國< === meta值 | -post標題有meta值法國 | -another文章標題有meta值法國 | -another文章標題有meta值法國

而且,只有極限後的結果在3對每個meta值

回答

0

如何:

if($n == 0) 
    echo $biz->post_title.'<br/>'; 
else 
    echo '<p>' . $biz->post_title . '</p>; 
+0

謝謝你,但它無法比擬的什麼我想要實現,我只是想通過meta值 – user44321

0

怎麼是這樣的:

<?php 
// New Vars 
$posts = array(); 
$post_limit = 3; 

$args = array(
'post_type'=>'business' 
); 
$query_biz = get_posts($args); 
foreach ($query_biz as $biz) { 

    // Get post country 
    $theme_meta = get_post_meta($biz->ID,'country',true); 

    // Check if county key exits in array 
    if (!array_key_exists($theme_meta, $posts)) $posts[$theme_meta] = array(); 

    // If more than post_limit don't add 
    if ($post_limit <= count($posts[$theme_meta])) continue; 
    // Else add post to array 
    else array_push($posts[$theme_meta], $biz); 

} 

// Print Titles 
foreach ($posts as $country => $_posts) { 
    echo '<h2>Country: ' . $country . '</h2>'; 

    foreach ($_posts as $post) { 
     echo '<p>' . $post->post_title . '</p>'; 
    } 
} 
+0

與獲獎者issssssss分離後的類型後,Youuuuu,它的工作好感謝 – user44321

+0

嗨@ user44321如果這個或任何答案已經解決你的問題,請考慮[接受它(HTTP://元.stackexchange.com/q/5234/179419) g綠色的複選標記。這向更廣泛的社區表明,您已經找到了解決方案,併爲答覆者和您自己提供了一些聲譽。沒有義務這樣做。 – ptimson

+0

你好,做了,再次感謝你 – user44321