function __construct($meta_box) { if (!is_admin()) { return; } // assign meta box values to local variables and add it's missed values $this->_meta_box = $meta_box; $this->_fields =& $this->_meta_box['fields']; $this->add_missed_values(); add_action('admin_menu', array(&$this, 'add')); // add meta box add_action('save_post', array(&$this, 'save')); // save meta box's data add_action('admin_head', function () { static $done = false; if (!$done) { echo '<script type="text/javascript">jQuery(function(){ window["aeria_init_select2"]?window["aeria_init_select2"]():false; window["aeria_setup_media_gallery_fields"]?window["aeria_setup_media_gallery_fields"]():false; window["aeria_setup_media_upload_fields"]?window["aeria_setup_media_upload_fields"]():false; });</script>'; $done = true; } }); AeriaMetabox::add_script_uploads(); AeriaMetabox::add_bootstrap_script(); // check for some special fields and add needed actions for them $this->check_field_upload(); $this->check_field_datetime(); $this->check_field_daterange(); }