2017-04-09 49 views
-1

我有以下功能:顯示在陣列後的元價值

function frontend_add_age_group_field ($fields) { 
    $fields['event']['event_age_group'] = array(
    'label'  => __('Age Group', 'event_manager'), 
    'type'  => 'multiselect', 
    'options' => array( 
       'kids' => __('Kids (7-10 Years)', 'wp-event-manager'), 
       'youngsters' => __('Youngsters (10-14 Years)', 'wp-event-manager'), 
       'youth' => __('Youth (15-25)', 'wp-event-manager'), 
       'adults' => __('Adults (25+)', 'wp-event-manager'), 
      ), 
    'required' => true, 
    'priority' => 4, 
); 
    return $fields; 
} 

例如,在對後數據庫中的值是:

a:3:{i:0;s:10:"youngsters";i:1;s:5:"youth";i:2;s:6:"adults";} 

我想上檢索這些值前端,我無法使用此功能。我得到什麼作爲輸出:

function get_event_age_group() 
{ 
    global $post; 

    $data = get_post_meta($post->ID, '_event_age_group'); 
    $age_groups = $data['options']; 
    return $age_groups; 

} 

誰能幫我爲什麼無法獲得數據?謝謝

回答

0

我能得到以下功能的輸出。雖然我在編碼方面經驗不足。我知道他們一定是做這件事的更好的方式,但是我能以某種方式做到這一點。這是爲我工作的功能。它可能有助於某人。

/*Function to get Age Groups from Events */ 
function get_event_age_group() 
{ 
    global $post; 

    $data = get_post_meta($post->ID, '_event_age_group', false); 
    //$age_groups = $data['options']; 
    foreach ($data as $key=>$value) { 

    switch ($value[0]) { 
     case "kids": 
      echo "Kids (7-10 Years)"; 
     break; 
     case "youngsters": 
      echo "Youngsters (10-14 Years)"; 
     break; 
     case "youth": 
      echo "Youth (15-25)"; 
     break; 
     case "adults": 
      echo "Adults (25+)"; 
     break; 
     } 
     echo "<br/>"; 
    switch ($value[1]) { 
     case "kids": 
      echo "Kids (7-10 Years)"; 
     break; 
     case "youngsters": 
      echo "Youngsters (10-14 Years)"; 
     break; 
     case "youth": 
      echo "Youth (15-25)"; 
     break; 
     case "adults": 
      echo "Adults (25+)"; 
     break; 
     } 
     echo "<br/>"; 
    switch ($value[2]) { 
     case "kids": 
      echo "Kids (7-10 Years)"; 
     break; 
     case "youngsters": 
      echo "Youngsters (10-14 Years)"; 
     break; 
     case "youth": 
      echo "Youth (15-25)"; 
     break; 
     case "adults": 
      echo "Adults (25+)"; 
     break; 
     } 
     echo "<br/>"; 
    switch ($value[3]) { 
     case "kids": 
      echo "Kids (7-10 Years)"; 
     break; 
     case "youngsters": 
      echo "Youngsters (10-14 Years)"; 
     break; 
     case "youth": 
      echo "Youth (15-25)"; 
     break; 
     case "adults": 
      echo "Adults (25+)"; 
     break; 
     } 
     echo "<br/>"; 
    } 
}