in web/wp-content/plugins/acf-extended/includes/acfe-template-functions.php [226:420]
function acfe_flexible_render_layout_enqueue($layout, $field){
// Global
global $is_preview;
// Vars
$name = $field['_name'];
$key = $field['key'];
$l_name = $layout['name'];
$handle = acf_slugify($name) . '-layout-' . acf_slugify($l_name);
// Files
$style = acf_maybe_get($layout, 'acfe_flexible_render_style');
$script = acf_maybe_get($layout, 'acfe_flexible_render_script');
/**
* Actions
*/
do_action("acfe/flexible/enqueue/layout={$l_name}", $field, $layout, $is_preview);
do_action("acfe/flexible/enqueue/name={$name}&layout={$l_name}", $field, $layout, $is_preview);
do_action("acfe/flexible/enqueue/key={$key}&layout={$l_name}", $field, $layout, $is_preview);
// Deprecated
do_action_deprecated("acfe/flexible/layout/enqueue/layout={$l_name}", array($field, $layout, $is_preview), '0.8.6.7', "acfe/flexible/enqueue/layout={$l_name}");
do_action_deprecated("acfe/flexible/layout/enqueue/name={$name}&layout={$l_name}", array($field, $layout, $is_preview), '0.8.6.7', "acfe/flexible/enqueue/name={$name}&layout={$l_name}");
do_action_deprecated("acfe/flexible/layout/enqueue/key={$key}&layout={$l_name}", array($field, $layout, $is_preview), '0.8.6.7', "acfe/flexible/enqueue/key={$key}&layout={$l_name}");
/**
* Style
*/
$style = apply_filters("acfe/flexible/render/style", $style, $field, $layout, $is_preview);
$style = apply_filters("acfe/flexible/render/style/name={$name}", $style, $field, $layout, $is_preview);
$style = apply_filters("acfe/flexible/render/style/key={$key}", $style, $field, $layout, $is_preview);
$style = apply_filters("acfe/flexible/render/style/layout={$l_name}", $style, $field, $layout, $is_preview);
$style = apply_filters("acfe/flexible/render/style/name={$name}&layout={$l_name}", $style, $field, $layout, $is_preview);
$style = apply_filters("acfe/flexible/render/style/key={$key}&layout={$l_name}", $style, $field, $layout, $is_preview);
// Deprecated
$style = apply_filters_deprecated("acfe/flexible/layout/render/style/layout={$l_name}", array($style, $field, $layout, $is_preview), '0.8.6.7', "acfe/flexible/render/style/layout={$l_name}");
$style = apply_filters_deprecated("acfe/flexible/layout/render/style/name={$name}&layout={$l_name}", array($style, $field, $layout, $is_preview), '0.8.6.7', "acfe/flexible/render/style/name={$name}&layout={$l_name}");
$style = apply_filters_deprecated("acfe/flexible/layout/render/style/key={$key}&layout={$l_name}", array($style, $field, $layout, $is_preview), '0.8.6.7', "acfe/flexible/render/style/key={$key}&layout={$l_name}");
// Check
if(!empty($style)){
// convert to array
if(is_string($style)){
$style = array(
'src' => $style,
);
}
// defaults args
$style = wp_parse_args($style, array(
'handle' => $handle,
'src' => '',
'deps' => array(),
'ver' => false,
'media' => 'all',
));
// src url starts with current domain
// remove it and let acfe_locate_file_url() handle it
if(stripos($style['src'], home_url()) === 0){
$style['src'] = str_replace(home_url(), '', $style['src']);
}
// clone for front-end
$style_front = $style;
// locate src
$style_front['src'] = acfe_locate_file_url($style_front['src']);
// enqueue front-end + preview
if(!empty($style_front['src'])){
wp_enqueue_style($style_front['handle'], $style_front['src'], $style_front['deps'], $style_front['ver'], $style_front['media']);
}
// preview mode
// make sure the src is not a distant url
if($is_preview && stripos($style['src'], 'http://') !== 0 && stripos($style['src'], 'https://') !== 0 && stripos($style['src'], '//') !== 0){
// clone for preview
$style_preview = $style;
// retrieve extension
$path = pathinfo($style_preview['src']);
$extension = $path['extension'];
// append "-preview" to src
$style_preview['src'] = substr($style_preview['src'], 0, -strlen($extension)-1);
$style_preview['src'] .= '-preview.' . $extension;
// locate src
$style_preview['src'] = acfe_locate_file_url($style_preview['src']);
// append "-preview" to handle
$style_preview['handle'] = "{$style_preview['handle']}-preview";
// enqueue preview
if(!empty($style_preview['src'])){
wp_enqueue_style($style_preview['handle'], $style_preview['src'], $style_preview['deps'], $style_preview['ver'], $style_preview['media']);
}
}
}
/**
* Script
*/
$script = apply_filters("acfe/flexible/render/script", $script, $field, $layout, $is_preview);
$script = apply_filters("acfe/flexible/render/script/name={$name}", $script, $field, $layout, $is_preview);
$script = apply_filters("acfe/flexible/render/script/key={$key}", $script, $field, $layout, $is_preview);
$script = apply_filters("acfe/flexible/render/script/layout={$l_name}", $script, $field, $layout, $is_preview);
$script = apply_filters("acfe/flexible/render/script/name={$name}&layout={$l_name}", $script, $field, $layout, $is_preview);
$script = apply_filters("acfe/flexible/render/script/key={$key}&layout={$l_name}", $script, $field, $layout, $is_preview);
// Deprecated
$script = apply_filters_deprecated("acfe/flexible/layout/render/script/layout={$l_name}", array($script, $field, $layout, $is_preview), '0.8.6.7', "acfe/flexible/render/script/layout={$l_name}");
$script = apply_filters_deprecated("acfe/flexible/layout/render/script/name={$name}&layout={$l_name}", array($script, $field, $layout, $is_preview), '0.8.6.7', "acfe/flexible/render/script/name={$name}&layout={$l_name}");
$script = apply_filters_deprecated("acfe/flexible/layout/render/script/key={$key}&layout={$l_name}", array($script, $field, $layout, $is_preview), '0.8.6.7', "acfe/flexible/render/script/key={$key}&layout={$l_name}");
// Check
if(!empty($script)){
// convert to array
if(is_string($script)){
$script = array(
'src' => $script,
);
}
// defaults args
$script = wp_parse_args($script, array(
'handle' => $handle,
'src' => '',
'deps' => array(),
'ver' => false,
'args' => true,
));
// src url starts with current domain
// remove it and let acfe_locate_file_url() handle it
if(stripos($script['src'], home_url()) === 0){
$script['src'] = str_replace(home_url(), '', $script['src']);
}
// clone for front-end
$script_front = $script;
// locate
$script_front['src'] = acfe_locate_file_url($script_front['src']);
// front-end with distant script
if(!$is_preview || (stripos($script['src'], 'http://') === 0 || stripos($script['src'], 'https://') === 0 || stripos($script['src'], '//') === 0)){
if(!empty($script_front['src'])){
wp_enqueue_script($script_front['handle'], $script_front['src'], $script_front['deps'], $script_front['ver'], $script_front['args']);
}
// front-end/preview with local script
}else{
// clone for preview
$script_preview = $script;
// retrieve extension
$path = pathinfo($script_preview['src']);
$extension = $path['extension'];
// append "-preview" to src
$script_preview['src'] = substr($script_preview['src'], 0, -strlen($extension)-1);
$script_preview['src'] .= '-preview.' . $extension;
// locate src
$script_preview['src'] = acfe_locate_file_url($script_preview['src']);
// append "-preview" to handle
$script_preview['handle'] = "{$script_preview['handle']}-preview";
// enqueue preview
if(!empty($script_preview['src'])){
wp_enqueue_script($script_preview['handle'], $script_preview['src'], $script_preview['deps'], $script_preview['ver'], $script_preview['args']);
// enqueue front-end
}elseif(!empty($script_front['src'])){
wp_enqueue_script($script_front['handle'], $script_front['src'], $script_front['deps'], $script_front['ver'], $script_front['args']);
}
}
}
}