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;
?>