the_value() static public method

Output the field value Display Google maps
static public the_value ( array $field, array $args = [], integer | null $post_id = null ) : mixed
$field array Field parameters
$args array Additional arguments. Not used for these fields.
$post_id integer | null Post ID. null for current post. Optional.
return mixed Field value
Esempio n. 1
0
 /**
  * Get post meta
  *
  * @param string   $key     Meta key. Required.
  * @param int|null $post_id Post ID. null for current post. Optional
  * @param array    $args    Array of arguments. Optional.
  *
  * @return mixed
  */
 public static function meta($key, $args = array(), $post_id = null)
 {
     $post_id = empty($post_id) ? get_the_ID() : $post_id;
     $args = wp_parse_args($args, array('type' => 'text', 'multiple' => false, 'clone' => false));
     // Always set 'multiple' true for following field types
     if (in_array($args['type'], array('checkbox_list', 'autocomplete', 'file', 'file_advanced', 'image', 'image_advanced', 'plupload_image', 'thickbox_image'))) {
         $args['multiple'] = true;
     }
     $field = array('id' => $key, 'type' => $args['type'], 'clone' => $args['clone'], 'multiple' => $args['multiple']);
     $class = RW_Meta_Box::get_class_name($field);
     switch ($args['type']) {
         case 'taxonomy_advanced':
             if (empty($args['taxonomy'])) {
                 break;
             }
             $meta = get_post_meta($post_id, $key, !$args['multiple']);
             $term_ids = wp_parse_id_list($meta);
             // Allow to pass more arguments to "get_terms"
             $func_args = wp_parse_args(array('include' => $term_ids, 'hide_empty' => false), $args);
             unset($func_args['type'], $func_args['taxonomy'], $func_args['multiple']);
             $meta = get_terms($args['taxonomy'], $func_args);
             break;
         case 'taxonomy':
             $meta = empty($args['taxonomy']) ? array() : get_the_terms($post_id, $args['taxonomy']);
             break;
         case 'map':
             $field = array('id' => $key, 'multiple' => false, 'clone' => false);
             $meta = RWMB_Map_Field::the_value($field, $args, $post_id);
             break;
         case 'oembed':
             $meta = RWMB_OEmbed_Field::the_value($field, $args, $post_id);
             break;
         default:
             $meta = call_user_func(array($class, 'get_value'), $field, $args, $post_id);
             break;
     }
     return apply_filters('rwmb_meta', $meta, $key, $args, $post_id);
 }
Esempio n. 2
0
 /**
  * Get post meta
  *
  * @param string   $key     Meta key. Required.
  * @param int|null $post_id Post ID. null for current post. Optional
  * @param array    $args    Array of arguments. Optional.
  *
  * @return mixed
  */
 static function meta($key, $args = array(), $post_id = null)
 {
     $post_id = empty($post_id) ? get_the_ID() : $post_id;
     $args = wp_parse_args($args, array('type' => 'text', 'multiple' => false));
     // Always set 'multiple' true for following field types
     if (in_array($args['type'], array('checkbox_list', 'file', 'file_advanced', 'image', 'image_advanced', 'plupload_image', 'thickbox_image'))) {
         $args['multiple'] = true;
     }
     $meta = get_post_meta($post_id, $key, !$args['multiple']);
     // Get uploaded files info
     if (in_array($args['type'], array('file', 'file_advanced'))) {
         if (is_array($meta) && !empty($meta)) {
             $files = array();
             foreach ($meta as $id) {
                 // Get only info of existing attachments
                 if (get_attached_file($id)) {
                     $files[$id] = RWMB_File_Field::file_info($id);
                 }
             }
             $meta = $files;
         }
     } elseif (in_array($args['type'], array('image', 'plupload_image', 'thickbox_image', 'image_advanced'))) {
         if (is_array($meta) && !empty($meta)) {
             $images = array();
             foreach ($meta as $id) {
                 // Get only info of existing attachments
                 if (get_attached_file($id)) {
                     $images[$id] = RWMB_Image_Field::file_info($id, $args);
                 }
             }
             $meta = $images;
         }
     } elseif ('taxonomy_advanced' == $args['type']) {
         if (!empty($args['taxonomy'])) {
             $term_ids = array_map('intval', array_filter(explode(',', $meta . ',')));
             // Allow to pass more arguments to "get_terms"
             $func_args = wp_parse_args(array('include' => $term_ids, 'hide_empty' => false), $args);
             unset($func_args['type'], $func_args['taxonomy'], $func_args['multiple']);
             $meta = get_terms($args['taxonomy'], $func_args);
         } else {
             $meta = array();
         }
     } elseif ('taxonomy' == $args['type']) {
         $meta = empty($args['taxonomy']) ? array() : get_the_terms($post_id, $args['taxonomy']);
     } elseif ('map' == $args['type']) {
         $field = array('id' => $key, 'multiple' => false, 'clone' => false);
         $meta = RWMB_Map_Field::the_value($field, $args, $post_id);
     } elseif ('oembed' == $args['type']) {
         $field = array('id' => $key, 'clone' => isset($args['clone']) ? $args['clone'] : false, 'multiple' => isset($args['multiple']) ? $args['multiple'] : false);
         $meta = RWMB_OEmbed_Field::the_value($field, $args, $post_id);
     }
     return apply_filters('rwmb_meta', $meta, $key, $args, $post_id);
 }