generated from pascalmartineau/wp-skeleton
51 lines
1.6 KiB
PHP
51 lines
1.6 KiB
PHP
<?php
|
|
|
|
// Override template file path for ACF previews
|
|
add_filter( 'acfe/flexible/render/template', 'ccat_acfe_flexible_render_template', 10, 4 );
|
|
function ccat_acfe_flexible_render_template( $file, $field, $layout, $is_preview ) {
|
|
if ( ! $is_preview ) {
|
|
return $file;
|
|
}
|
|
// Return relative path - ACF Extended Pro will use acfe_locate_file_path() to find it
|
|
return 'layouts/preview.php';
|
|
}
|
|
|
|
// Disable caching for preview requests
|
|
add_action( 'acfe/flexible/render/before_template', 'ccat_disable_cache_for_preview', 1, 3 );
|
|
function ccat_disable_cache_for_preview( $field, $layout, $is_preview ) {
|
|
if ( ! $is_preview ) {
|
|
return;
|
|
}
|
|
|
|
// Disable WordPress object cache for this request
|
|
wp_cache_flush();
|
|
|
|
// Send no-cache headers
|
|
nocache_headers();
|
|
|
|
// Disable ACF cache if function exists
|
|
if ( function_exists( 'acf_get_store' ) ) {
|
|
acf_get_store( 'fields' )->reset();
|
|
acf_get_store( 'field-groups' )->reset();
|
|
}
|
|
}
|
|
|
|
// Disable ACF / ACFE modules
|
|
add_action( 'acf/init', 'ccat_acf_init' );
|
|
function ccat_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_pages', false );
|
|
acf_update_setting( 'acfe/modules/post_types', false );
|
|
acf_update_setting( 'acfe/modules/taxonomies', false );
|
|
acf_update_setting( 'acfe/modules/templates', false );
|
|
}
|
|
|
|
// Google Maps API key
|
|
add_filter( 'acf/fields/google_map/api', 'ccat_acf_google_map_api' );
|
|
function ccat_acf_google_map_api( $api ) {
|
|
$api['key'] = 'AIzaSyCoB9_Um059jyenVcFfpXTBq-zZAxlBPqk';
|
|
return $api;
|
|
}
|