示例#1
0
    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();
    }