function table_columns()

in web/wp-content/plugins/acf-extended/includes/field-groups/field-groups.php [83:207]


    function table_columns($columns){
        
        switch($this->view){
    
            // sync
            case('sync'): {
    
                acfe_unset($columns, 'acf-field-group-category');
                break;
                
            }
            
            // local
            case('acfe-local'): {
    
                if($this->old_version){
        
                    $columns = array(
                        'cb'            => '<input type="checkbox" />',
                        'title'         => __('Title', 'acf'),
                        'acfe-source'   => __('Source', 'acf'),
                        'acf-count'     => __('Fields', 'acf'),
                        'acfe-location' => __('Location', 'acf'),
                    );
        
                }else{
        
                    $columns = array(
                        'cb'            => '<input type="checkbox" />',
                        'title'         => __('Title', 'acf'),
                        'acfe-source'   => __('Source', 'acf'),
                        'acf-count'     => __('Fields', 'acf'),
                        'acf-location'  => __('Location', 'acf'),
                    );
        
                }
                
                if(acf_get_setting('acfe/php') || acf_get_setting('acfe/json')){
                    $columns['acfe-load'] = __('Load', 'acf');
                }
    
                if(acf_get_setting('acfe/php')){
                    $columns['acfe-autosync-php'] = __('PHP Sync');
                }
    
                if(acf_get_setting('acfe/json')){
                    $columns['acfe-autosync-json'] = __('Json Sync', 'acf');
                }
    
                break;
                
            }
            
            // active/trash
            default: {
    
                // acf < 5.9
                if($this->old_version){
        
                    acfe_unset($columns, 'acf-fg-status');
        
                    $columns['acfe-location'] = __('Location', 'acf');
                    
                    if(acf_get_setting('acfe/php') || acf_get_setting('acfe/json')){
                        $columns['acfe-load'] = __('Load', 'acf');
                    }
        
                    if(acf_get_setting('acfe/php')){
                        $columns['acfe-autosync-php'] = __('PHP');
                    }
        
                    if(acf_get_setting('acfe/json')){
                        $columns['acfe-autosync-json'] = __('Json');
                    }
        
                // acf >= 5.9
                }else{
        
                    // Re-order
                    acfe_unset($columns, 'acf-key');
                    acfe_unset($columns, 'acf-location');
                    acfe_unset($columns, 'acf-count');
                    acfe_unset($columns, 'acf-json');
        
                    $columns['acf-count'] = __('Fields', 'acf');
                    $columns['acf-location'] = __('Location', 'acf');
                    
                    if(acf_get_setting('acfe/php') || acf_get_setting('acfe/json')){
                        $columns['acfe-load'] = __('Load', 'acf');
                    }
        
                    if(acf_get_setting('acfe/php')){
                        $columns['acfe-autosync-php'] = __('PHP');
                    }
        
                    if(acf_get_setting('json')){
                        $columns['acfe-autosync-json'] = __('Json');
                    }
        
                }
    
                // remove category column if empty
                if(isset($columns['acf-field-group-category'])){
        
                    $categories_count = get_terms(array(
                        'taxonomy'      => 'acf-field-group-category',
                        'hide_empty'    => false,
                        'fields'        => 'count'
                    ));
        
                    if(empty($categories_count)){
                        unset($columns['acf-field-group-category']);
                    }
        
                }
    
                break;
                
            }
            
        }
        
        return $columns;
        
    }