2017-04-09 46 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/>"; 
    } 
}