2014-05-22 80 views
1

我做了一個代碼來獲得一個特定的職位類型cef_donor如何獲得一個職位類型的所有meta值

$arg = array(
    'post_type' => 'cef_donor', 
); 
$posts_array = get_posts($arg); 

$metaData = array(); 
foreach($posts_array as $key => $value){ 
    $metaData[] = get_post_meta($value->ID,'', true); 
} 

的所有元數據。當我打印$元我得到陣列這樣

Array 
(
    [0] => Array 
     (
      [meta_key_one] => Array (
        [0] => value one 
       ) 
      [meta_key_two] => Array 
       (
        [0] => value two 
       ) 
      [meta_key_three] => Array 
       (
        [0] => value three 
       ) 
     ) 
    [1] => Array 
     (
      [meta_key_one] => Array (
        [0] => another value one 
       ) 
      [meta_key_two] => Array 
       (
        [0] => another value two 
       ) 
      [meta_key_three] => Array 
       (
        [0] => another value three 
       ) 
     ) 
) 

但我只需要這樣

Array 
(
    [0] => Array 
     (
      [meta_key_one] => value one 
      [meta_key_two] => value two 
      [meta_key_three] => value three 
     ) 
    [1] => Array 
     (
      [meta_key_one] => another value one 
      [meta_key_two] => another value two 
      [meta_key_three] => another value three 
     ) 
) 

數組有沒有其他簡單的方法來獲取所有meta_key及其後型meta_value。 請幫忙

回答

0

你可以創建一個新的。將舊值循環到新值。考慮下面的例子:

$metaData = array(array('meta_key_one' => array('value_one'), 'meta_key_two' => array('value_two'), 'meta_key_three' => array('value_three'),), array('meta_key_one' => array('another_value_one'), 'meta_key_two' => array('another_value_two'), 'meta_key_three' => array('another_value_three'),),); 
$new_values = array(); 
foreach($metaData as $key => $value) { 
    foreach($value as $index => $element) { 
     $new_values[$key][$index] = $element[0]; 
    } 
} 

print_r($new_values); 

樣本輸出:

Array 
(
    [0] => Array 
     (
      [meta_key_one] => value_one 
      [meta_key_two] => value_two 
      [meta_key_three] => value_three 
     ) 

    [1] => Array 
     (
      [meta_key_one] => another_value_one 
      [meta_key_two] => another_value_two 
      [meta_key_three] => another_value_three 
     ) 

) 

Sample Fiddle

+0

感謝回覆, meta_key_one,meta_key_two,meta_key_three是可以變化,或者會出現另一個數組鍵與meta_key_four_my_address, school_name like anyhing等 我正在考慮它作爲一個窗體的字段名稱。 – Dinoop

+0

hello @Dinoop如果密鑰要是動態的,那麼你可以查看我的編輯。好日子:) – user1978142

+0

謝謝@kevinabelita,它的工作:)。我們是否有像get_post_meta這樣的其他wordpress函數來直接獲取元數據? – Dinoop

相關問題