function load_field()

in web/wp-content/plugins/acf-extended/includes/fields-settings/settings.php [267:363]


    function load_field($field){
        
        if(!acf_maybe_get($field, 'acfe_settings')){
            return $field;
        }
        
        $exclude = apply_filters('acfe/settings/exclude', false, $field);
        if($exclude){
            return $field;
        }
        
        foreach($field['acfe_settings'] as $k => $rule){
            
            // fix possible acf clone index
            if($k === 'acfcloneindex'){
                continue;
            }
            
            // screen
            $screen = isset($rule['acfe_settings_location']) ? $rule['acfe_settings_location'] : '';
            $screen_allow = false;
            
            // screen: all
            if(empty($screen)){
                $screen_allow = true;
            }
            
            // screen: admin
            elseif($screen === 'admin' && acfe_is_admin()){
                $screen_allow = true;
            }
            
            // screen: front
            elseif($screen === 'front' && acfe_is_front()){
                $screen_allow = true;
            }
            
            if(!$screen_allow){
                continue;
            }
            
            if(!acf_maybe_get($rule, 'acfe_settings_settings')){
                continue;
            }
            
            // properties
            $properties = $rule['acfe_settings_settings'];
            
            foreach($properties as $property){
                
                // required / hide field / hide label / default value / placeholder / instructions
                $property_name = $property['acfe_settings_setting_type'];
                
                // custom
                if($property['acfe_settings_setting_type'] === 'custom'){
                    
                    if(!empty($property['acfe_settings_setting_name'])){
                        $property_name = $property['acfe_settings_setting_name'];
                    }
                    
                }
                
                switch($property['acfe_settings_setting_operator']){
                    
                    // custom value
                    case '=': {
                        acfe_array_set($field, $property_name, $property['acfe_settings_setting_value']);
                        break;
                    }
                    
                    // true
                    case 'true': {
                        acfe_array_set($field, $property_name, true);
                        break;
                    }
                    
                    // false
                    case 'false': {
                        acfe_array_set($field, $property_name, false);
                        break;
                    }
                    
                    // empty
                    case 'empty': {
                        acfe_array_set($field, $property_name, '');
                        break;
                    }
                    
                }
                
            }
            
        }
        
        return $field;
        
    }