34 lines
1.1 KiB
PHP
34 lines
1.1 KiB
PHP
<?php
|
|
|
|
// Disable ACF / ACFE modules
|
|
add_filter( 'acf/settings/enable_post_types', '__return_false' );
|
|
add_action( 'acf/init', 'headless_acf_init' );
|
|
function headless_acf_init() {
|
|
acf_update_setting( 'acfe/modules/block_types', false );
|
|
acf_update_setting( 'acfe/modules/categories', false );
|
|
acf_update_setting( 'acfe/modules/forms', false );
|
|
acf_update_setting( 'acfe/modules/options', false );
|
|
acf_update_setting( 'acfe/modules/options_pages', false );
|
|
acf_update_setting( 'acfe/modules/post_types', false );
|
|
acf_update_setting( 'acfe/modules/taxonomies', false );
|
|
acf_update_setting( 'acfe/modules/templates', false );
|
|
}
|
|
|
|
// Customize ACF Flexible Content settings modal field to only show layout field groups
|
|
add_filter( 'acf/prepare_field', 'headless_acfe_flexible_settings_prepare_field', 20 );
|
|
function headless_acfe_flexible_settings_prepare_field( $field ) {
|
|
if ( ( $field['_name'] ?? '' ) !== 'acfe_flexible_settings' ) {
|
|
return $field;
|
|
}
|
|
|
|
$field['choices'] = array_filter(
|
|
$field['choices'],
|
|
function ( $key ) {
|
|
return strpos( $key, 'group_layout_' ) === 0;
|
|
},
|
|
ARRAY_FILTER_USE_KEY
|
|
);
|
|
|
|
return $field;
|
|
}
|