'icon', // id of the field 'hide' => false, // hide the image upload button 'show_image_data' => true, // show image name / title etc in interface. 'show_hover_link' => true, // show a link to include a hover image 'conditional' => false, // show this field only on conditional 'label' => __('Image', 'maxbuttons-pro'), // the label 'data' => array(), // where to find the data of the image 'admin' => null, // the admin object to add the fields to ); $args = wp_parse_args($args, $default_args); $admin = $args['admin']; if (! is_object($admin)) { return false; } $id = $args['id']; $data = $args['data']; $icon_id = isset($data[$id . '_id']) ? $data[$id . '_id'] : false; $icon_url = isset($data[$id . '_url']) ? $data[$id . '_url'] : false; $icon_alt = isset($data[$id . '_alt']) ? $data[$id . '_alt'] : false; $icon_size = isset($data[$id . '_size']) ? $data[$id . '_size'] : false; //**Icon section. $iconid = new maxField('hidden'); $iconid->id = $id . '_id'; $iconid->name = $iconid->id; $iconid->value = $icon_id; $admin->addField($iconid, '', ''); $iconurl = new maxField('hidden'); $iconurl->id = $id . '_url'; $iconurl->name = $iconurl->id; $iconurl->value = $icon_url; $admin->addField($iconurl, '',''); $iconsize = new maxField('hidden'); $iconsize->id = $id . '_size'; $iconsize->name = $iconsize->id; $iconsize->value = $icon_size; $admin->addField($iconsize, '',''); $iconpreview = new maxField('generic'); $iconpreview->id = $id . '_option_preview'; if ($args['hide']) $iconpreview->main_class = 'option hidden'; $iconpreview->label =$args['label']; $iconpreview->name = $iconpreview->id; $iconpreview->start_conditional = $args['conditional']; // $iconpreview->main_class = 'option icon_preview'; if ($icon_id > 0) { $data = get_post($icon_id); if (! is_null($data)) { $icon_title = $data->post_title; $icon_alt = get_post_meta( $icon_id, '_wp_attachment_image_alt', true ); $data = wp_get_attachment_image_src($icon_id, $icon_size); $filename = basename($data[0]); $width = $data[1]; $height = $data[2]; } else { $icon_id = -1; // error state $icon_url = ''; } } else { $filename = $icon_alt = $icon_title = ''; } $content = ''; $content .= ''; if (isset($icon_url) && $icon_url != '') { $content .= ''; } $content .= ''; if ($args['show_image_data']) { $content .= ""; $content .= " " . $filename . " " . $icon_alt . " " . $icon_title . " "; } $iconpreview->content = $content; $admin->addField($iconpreview, 'start', 'end'); $image_button = new maxField('generic'); $image_button->label = ' '; $image_button->id = $id . '_image_button'; $image_button->name = $image_button->id; $image_button->start_conditional = $args['conditional'] ; if ($args['hide']) $image_button->main_class = 'option hidden'; $image_button->content = ''; $end = $args['show_hover_link'] ? '' : 'end'; $admin->addField($image_button, 'start', $end); if ($args['show_hover_link']) { $hover_link = new maxField('generic'); $hover_link->id = $id . '_hover_link'; $hover_link->name = $hover_link->id; $hover_link->content = "

" . __("Add a different Hover Image", 'maxbuttons-pro') . "

"; $admin->addField($hover_link, '', 'end'); } } } // class ?>