ID) != 'acf-field-group') return $states; $field_group = acf_get_field_group($post->ID); if(!$field_group || !isset($field_group['acfe_display_title']) || empty($field_group['acfe_display_title'])) return $states; $states[] = $field_group['acfe_display_title']; return $states; } /** * Table Columns */ add_filter('manage_edit-acf-field-group_columns', 'acfe_field_groups_column', 999); function acfe_field_groups_column($columns){ // Locations if(acf_version_compare(acf_get_setting('version'), '<', '5.9')){ $columns['acfe-locations'] = __('Locations'); } if(acf_version_compare(acf_get_setting('version'), '<', '5.9')){ // Load $columns['acfe-local'] = __('Load'); } // PHP sync if(acf_get_setting('acfe/php')){ $columns['acfe-autosync-php'] = __('PHP Sync'); } if(acf_version_compare(acf_get_setting('version'), '>=', '5.9')){ // Load $columns['acfe-local'] = __('Load'); } // Json sync if(acf_get_setting('json') && acf_version_compare(acf_get_setting('version'), '<', '5.9')){ $columns['acfe-autosync-json'] = __('Json Sync'); } // Fix 'Sync' screen columns if(acf_maybe_get_GET('post_status') === 'sync'){ unset($columns['acf-field-group-category']); unset($columns['acfe-locations']); unset($columns['acfe-local']); if(isset($columns['acfe-autosync-php'])) unset($columns['acfe-autosync-php']); if(isset($columns['acfe-autosync-json'])) unset($columns['acfe-autosync-json']); } // Fix 'Third party' screen columns elseif(acf_maybe_get_GET('post_status') === 'acfe-local'){ $columns = array( 'title' => __('Title', 'acf'), 'acfe-source' => __('Source', 'acf'), 'acf-fg-count' => __('Fields', 'acf'), 'acfe-locations' => __('Locations', 'acf'), 'acfe-local' => __('Load', 'acf'), ); } // Remove 'Field Group Category' column if there is no terms $categories = get_terms(array( 'taxonomy' => 'acf-field-group-category', 'hide_empty' => false, )); if(empty($categories) && isset($columns['acf-field-group-category'])) unset($columns['acf-field-group-category']); return $columns; } /** * Table Columns HTML */ add_action('manage_acf-field-group_posts_custom_column', 'acfe_field_groups_column_html', 10, 2); function acfe_field_groups_column_html($column, $post_id){ /** * Count */ if($column === 'acfe-count'){ $field_group = acf_get_field_group($post_id); echo esc_html(acf_get_field_count($field_group)); } /** * Count */ elseif($column === 'acfe-source'){ $field_group = acf_get_field_group($post_id); $source = false; // ACF Extended if(strpos($post_id, 'group_acfe_') === 0){ $source = 'ACF Extended'; } // Advanced Forms elseif($post_id === 'group_form_settings' || $post_id === 'group_entry_data'){ $source = 'Advanced Forms'; } else{ $source = __('Local', 'acf'); } $source = apply_filters('acfe/field_groups_third_party/source', $source, $post_id, $field_group); echo $source; } /** * Locations */ elseif($column === 'acfe-locations'){ $field_group = acf_get_field_group($post_id); acfe_render_field_group_locations_html($field_group); } /** * Load */ elseif($column === 'acfe-local'){ if(!$field_group = acf_get_field_group($post_id)) return; $local_field_group = acf_get_local_field_group($field_group['key']); $local_field_group_type = acf_maybe_get($local_field_group, 'local', false); if($local_field_group_type === 'php'){ echo 'php'; return; } elseif($local_field_group_type === 'json'){ echo 'json'; return; } else{ echo 'DB'; return; } } /** * PHP sync */ elseif($column === 'acfe-autosync-php'){ if(!$field_group = acf_get_field_group($post_id)) return; if(!acfe_has_field_group_autosync($field_group, 'php')){ echo ''; if(acfe_has_field_group_autosync_file($field_group, 'php')){ echo ''; } return; } if(!acf_get_setting('acfe/php_found')){ echo ''; echo ''; } elseif(!acfe_has_field_group_autosync_file($field_group, 'php')){ echo ''; echo ''; } else{ echo ''; } } /** * Json sync */ elseif($column === 'acfe-autosync-json'){ if(!$field_group = acf_get_field_group($post_id)) return; if(acfe_has_field_group_autosync_file($field_group, 'json')){ echo ''; } else{ if(!acfe_has_field_group_autosync($field_group, 'json')){ echo ''; }else{ echo ''; if(!acf_get_setting('acfe/json_found')){ echo ''; } else{ echo ''; } } } } } /** * Table Row Actions */ add_filter('page_row_actions', 'hwk_post_type_exemple_row_actions', 10, 2); function hwk_post_type_exemple_row_actions($actions, $post){ if(!isset($post->post_type) || $post->post_type != 'acf-field-group') return $actions; $field_group = acf_get_field_group($post->ID); $actions['acfe-export-php'] = 'PHP'; $actions['acfe-export-json'] = 'Json'; if(acf_version_compare(acf_get_setting('version'), '<', '5.9')){ $actions['acfe-key'] = '' . $field_group['key'] . ''; } //$actions['acfe-id'] = 'ID: ' . $field_group['ID'] . ''; return $actions; } /** * Sidebar */ add_action('current_screen', function(){ if(!acf_is_screen('edit-acf-field-group')) return; add_action('admin_footer', function(){ $categories = get_terms(array( 'taxonomy' => 'acf-field-group-category', 'hide_empty' => false, )); $cols = !empty($categories) ? 9 : 8; ?>