if(!defined('ABSPATH')){ exit; } /** * acfe_deprecated_function * * @param $function * @param $version * @param $replacement */ function acfe_deprecated_function($function, $version, $replacement = ''){ acfe_trigger_error('Function', $function, $version, $replacement); } /** * acfe_deprecated_setting * * @param $setting * @param $version * @param $replacement */ function acfe_deprecated_setting($setting, $version, $replacement = ''){ acfe_trigger_error('Setting', $setting, $version, $replacement); } /** * acfe_deprecated_constant * * @param $constant * @param $version * @param $replacement */ function acfe_deprecated_constant($constant, $version, $replacement = ''){ acfe_trigger_error('Constant', $constant, $version, $replacement); } /** * acfe_deprecated_hook * * @param $hook * @param $version * @param $replacement */ function acfe_deprecated_hook($hook, $version, $replacement = ''){ acfe_trigger_error('Hook', $hook, $version, $replacement); } /** * acfe_apply_filters_deprecated * * @param $hook * @param $args * @param $version * @param $replacement * * @return mixed */ function acfe_apply_filters_deprecated($hook, $args, $version, $replacement = ''){ if(!has_filter($hook)){ return $args[0]; } acfe_deprecated_hook($hook, $version, $replacement); return apply_filters_ref_array($hook, $args); } /** * acfe_do_action_deprecated * * @param $hook * @param $args * @param $version * @param $replacement */ function acfe_do_action_deprecated($hook, $args, $version, $replacement = ''){ if(!has_action($hook)){ return; } acfe_deprecated_hook($hook, $version, $replacement); do_action_ref_array($hook, $args); } /** * acfe_trigger_error * * @param $label * @param $function * @param $version * @param $replacement */ function acfe_trigger_error($label, $function, $version, $replacement = ''){ do_action('deprecated_function_run', $function, $replacement, $version); if(WP_DEBUG && apply_filters('deprecated_function_trigger_error', true)){ if($replacement){ $message = 'ACF Extended: ' . $label . ' ' . sprintf(__('%1$s is deprecated since version %2$s! Use %3$s instead.'), $function, $version, $replacement); }else{ $message = 'ACF Extended: ' . $label . ' ' . sprintf(__('%1$s is deprecated since version %2$s with no alternative available.'), $function, $version); } // trigger error trigger_error($message, E_USER_DEPRECATED); } }/*! elementor-pro - v3.30.0 - 01-07-2025 */ *[data-editable-elementor-document] { position: relative; } *[data-editable-elementor-document]:before, *[data-editable-elementor-document]:after { content: ""; display: table; } *[data-editable-elementor-document] .elementor-document-handle { position: absolute; z-index: 2147483620; cursor: pointer; inset: 0; display: none; border: 2px solid var(--e-a-color-primary, #F3BAFD); } *[data-editable-elementor-document] .elementor-document-handle:before { content: ""; position: absolute; background: var(--e-a-color-primary, #F3BAFD); opacity: 0.3; inset: 0; } *[data-editable-elementor-document] .elementor-document-handle__inner { display: none; align-items: center; position: absolute; top: 0; left: 50%; transform: translateX(-50%); background: var(--e-a-color-primary, #F3BAFD); padding: 8px 16px; font-family: Roboto, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 14px; color: var(--e-p-border-global-invert, #0C0D0E); gap: 8px; border-radius: 0 0 3px 3px; } *[data-editable-elementor-document] .elementor-document-handle__inner:before, *[data-editable-elementor-document] .elementor-document-handle__inner:after { content: ""; position: absolute; border: solid transparent; } *[data-editable-elementor-document] .elementor-document-handle__inner:before { right: calc(100% - 1px); border-inline-end-color: var(--e-a-color-primary, #F3BAFD); border-width: 0 14px 30px 0; } *[data-editable-elementor-document] .elementor-document-handle__inner:after { left: calc(100% - 1px); border-inline-start-color: var(--e-a-color-primary, #F3BAFD); border-width: 0 0 30px 14px; } *[data-editable-elementor-document].e-embedded-document-active .elementor-document-handle:not(.elementor-document-save-back-handle), *[data-editable-elementor-document].elementor-widget-container .elementor-document-handle:not(.elementor-document-save-back-handle) { bottom: unset; border-block-end: unset; } *[data-editable-elementor-document].e-embedded-document-active .elementor-document-handle:not(.elementor-document-save-back-handle)::before, *[data-editable-elementor-document].elementor-widget-container .elementor-document-handle:not(.elementor-document-save-back-handle)::before { display: none; bottom: unset; } .elementor-editor-active *[data-editable-elementor-document]:not(.elementor-edit-mode):hover .elementor-document-handle:not(.elementor-document-save-back-handle) { display: block; } .elementor-editor-active *[data-editable-elementor-document]:not(.elementor-edit-mode):hover .elementor-document-handle:not(.elementor-document-save-back-handle)::before { display: block; } .elementor-editor-active *[data-editable-elementor-document]:not(.elementor-edit-mode):hover .elementor-document-handle:not(.elementor-document-save-back-handle) .elementor-document-handle__inner { display: flex; } .elementor-editor-active *[data-editable-elementor-document].loading { opacity: 0.5; } .elementor-editor-active *[data-editable-elementor-document][data-elementor-type=single] > .elementor-document-handle { transform: translateX(-50%) translateY(-100%); border-radius: 3px 3px 0 0; } .elementor-editor-active *[data-editable-elementor-document][data-elementor-type=single] > .elementor-document-handle:before { border-width: 30px 14px 0 0; } .elementor-editor-active *[data-editable-elementor-document][data-elementor-type=single] > .elementor-document-handle:after { border-width: 30px 0 0 14px; } [data-elementor-post-type=elementor_library] > .elementor-document-handle { border: 2px solid var(--e-p-border-global, #5EEAD4); } [data-elementor-post-type=elementor_library] > .elementor-document-handle:before { background-color: var(--e-p-border-global, #5EEAD4); } [data-elementor-post-type=elementor_library] > .elementor-document-handle .elementor-document-handle__inner { background-color: var(--e-p-border-global, #5EEAD4); } [data-elementor-post-type=elementor_library] > .elementor-document-handle .elementor-document-handle__inner:before { border-inline-end-color: var(--e-p-border-global, #5EEAD4); } [data-elementor-post-type=elementor_library] > .elementor-document-handle .elementor-document-handle__inner:after { border-inline-start-color: var(--e-p-border-global, #5EEAD4); } .elementor-widget.elementor-sticky--effects .elementor-editor-widget-settings { right: -14px; } .elementor-editor-active .elementor.elementor-edit-mode .elementor-widget.elementor-global-widget:hover { outline: 1px solid var(--e-p-border-global); } .elementor-editor-active .elementor.elementor-edit-mode .elementor-widget.elementor-global-widget.elementor-element-editable, .elementor-editor-active .elementor.elementor-edit-mode .elementor-widget.elementor-global-widget.elementor-element-editable:hover { box-shadow: 0 0 0 2px var(--e-p-border-global); } .elementor-editor-active .elementor.elementor-edit-mode .elementor-global-widget .elementor-editor-widget-settings { background-color: var(--e-p-border-global); } .elementor-editor-active .elementor.elementor-edit-mode .elementor-global-widget .elementor-editor-widget-settings .elementor-editor-element-setting { background-color: var(--e-p-border-global); color: var(--e-p-border-global-invert); } .elementor-editor-active .elementor.elementor-edit-mode .elementor-global-widget .elementor-editor-widget-settings .elementor-editor-element-setting:hover { background-color: var(--e-p-border-global-hover); } .elementor-editor-active .elementor.elementor-edit-mode .elementor-global-widget .elementor-editor-widget-settings .elementor-editor-element-setting.elementor-editor-element-save { display: none; } .elementor-embedded-editor.elementor-location-header .elementor-section-wrap:not(:empty) + #elementor-add-new-section { display: none; } .elementor-editor-preview .elementor-edit-area-active[data-elementor-type=loop-item] .elementor-element-overlay, .elementor-editor-preview .elementor-edit-area-active[data-elementor-type=loop-item] .elementor-empty, .elementor-editor-preview .elementor-edit-area-active[data-elementor-type=loop-item] .elementor-add-section, .elementor-editor-preview .elementor-edit-area-active[data-elementor-type=loop-item] .elementor-add-section-inline, .elementor-editor-preview .elementor-edit-area-active[data-elementor-type=loop-item] .elementor-empty-view, .elementor-editor-preview .elementor-edit-area-active[data-elementor-type=loop-item] .elementor-widget-empty { display: initial; } .elementor.elementor-edit-area-active .elementor-document-handle.elementor-document-save-back-handle { display: block; bottom: unset; border: unset; } .elementor.elementor-edit-area-active .elementor-document-handle.elementor-document-save-back-handle:before { display: none; } .elementor.elementor-edit-area-active .elementor-document-handle.elementor-document-save-back-handle > .elementor-document-handle__inner { display: flex; opacity: 1; } .elementor-document-handle.elementor-document-save-back-handle .elementor-document-handle__inner { transform: translateX(-50%) translateY(-100%); border-radius: 3px 3px 0 0; } .elementor-document-handle.elementor-document-save-back-handle .elementor-document-handle__inner:before { border-width: 30px 14px 0 0; } .elementor-document-handle.elementor-document-save-back-handle .elementor-document-handle__inner:after { border-width: 30px 0 0 14px; } .elementor-document-handle.elementor-document-save-back-handle .eicon-arrow-left, .elementor-document-handle.elementor-document-save-back-handle .eicon-arrow-right { margin-inline-end: 5px; } .elementor-loop-container > div.elementor-edit-area-active:first-of-type { border: 2px solid #5EEAD4; } div[class*=elementor-widget-loop] .elementor-edit-area-active[data-editable-elementor-document], div[class*=elementor-widget-loop] .elementor-edit-area-active.swiper-slide-active, div[class*=elementor-widget-loop] .elementor-edit-area-active.e-loop-first-edit:first-of-type { border: 2px solid #5EEAD4; } div[class*=elementor-widget-loop] .elementor-edit-area-active .elementor-document-save-back-handle { display: flex; line-height: initial; white-space: nowrap; } div[class*=elementor-widget-loop] #elementor-add-new-section { margin: 30px auto; } div[class*=elementor-widget-loop] .elementor-add-section-inner { padding: 15px 0; } .elementor-edit-area-active[data-elementor-type=loop-item] .elementor-section-wrap { /* Overwrite the 25px min-height from the default .elementor-section-wrap:empty, as this causes unnecessary white space between the "Drag widget here" box and the document handles for in-place editing, making it look like this area is not vertically aligned on a new empty state. */ } .elementor-edit-area-active[data-elementor-type=loop-item] .elementor-section-wrap:not(:empty) + #elementor-add-new-section { display: none; } .elementor-edit-area-active[data-elementor-type=loop-item] .elementor-section-wrap:empty { min-height: 0; } .elementor-editor-active [class*=elementor-widget-loop] .elementor:not([data-editable-elementor-document]):not(.e-loop-alternate-template):hover { box-shadow: initial; } .elementor-editor-active [class*=elementor-widget-loop]:hover .elementor-document-handle:not(.elementor-document-save-back-handle) { display: flex; line-height: initial; white-space: nowrap; } .elementor-editor-active [class*=elementor-widget-loop]:hover .elementor-document-handle:not(.elementor-document-save-back-handle)::before { display: block; } .elementor-editor-active [class*=elementor-widget-loop]:hover .elementor-document-handle:not(.elementor-document-save-back-handle) .elementor-document-handle__inner { display: flex; } .elementor-editor-active [class*=elementor-widget-loop]:hover .e-loop-alternate-template { box-shadow: 0 0 0 1px #9DA5AE; } .e-loop-template-canvas { display: flex; align-items: center; justify-content: center; min-height: 100vh; } .e-loop-template-canvas [data-elementor-type=loop-item].e-loop-item { max-width: var(--preview-width, 410px); width: var(--preview-width, 410px); } .e-loop-template-canvas [data-elementor-type=loop-item].e-loop-item #elementor-add-new-section { width: var(--preview-width, 410px); } /*# sourceMappingURL=preview-rtl.css.map *//*! elementor-pro - v3.4.1 - 01-09-2021 */ .elementor-document-handle { display: none; -webkit-box-align: center; -ms-flex-align: center; align-items: center; position: absolute; z-index: 100; top: 0; left: 50%; -webkit-transform: translateX(-50%); -ms-transform: translateX(-50%); transform: translateX(-50%); background-color: #fcb92c; padding: 5px 10px; font-family: Roboto, Arial, Helvetica, Verdana, sans-serif; font-size: 11px; color: #fff; border-radius: 0 0 3px 3px; cursor: pointer; } .elementor-document-handle:before, .elementor-document-handle:after { content: ''; position: absolute; border: solid transparent; } .elementor-document-handle:before { right: calc(100% - 1px); border-right-color: #fcb92c; border-width: 0 14px 23px 0; } .elementor-document-handle:after { left: calc(100% - 1px); border-left-color: #fcb92c; border-width: 0 0 23px 14px; } .elementor-document-handle .eicon-edit { margin-left: 5px; } .elementor-editor-active .elementor { position: relative; } .elementor-editor-active .elementor:not(.elementor-edit-mode):hover { -webkit-box-shadow: 0 0 0 1px #fcb92c; box-shadow: 0 0 0 1px #fcb92c; } .elementor-editor-active .elementor:not(.elementor-edit-mode):hover .elementor-document-handle { display: -webkit-box; display: -ms-flexbox; display: flex; line-height: initial; } .elementor-editor-active .elementor.loading { opacity: 0.5; } .elementor-editor-active .elementor[data-elementor-type="single"] > .elementor-document-handle { -webkit-transform: translateX(-50%) translateY(-100%); -ms-transform: translateX(-50%) translateY(-100%); transform: translateX(-50%) translateY(-100%); border-radius: 3px 3px 0 0; } .elementor-editor-active .elementor[data-elementor-type="single"] > .elementor-document-handle:before { border-width: 23px 14px 0 0; } .elementor-editor-active .elementor[data-elementor-type="single"] > .elementor-document-handle:after { border-width: 23px 0 0 14px; } .elementor-embedded-editor.elementor-location-header .elementor-section-wrap:not(:empty) + #elementor-add-new-section { display: none; } /*# sourceMappingURL=preview-rtl.css.map */
if(!defined('ABSPATH')){ exit; } /** * get_flexible * * Helper for the Flexible Content: Dynamic Render * * @param string $selector * @param false $post_id * * @return false|string */ if(!function_exists('get_flexible')){ function get_flexible($selector, $post_id = false){ // Bail early if(!have_rows($selector, $post_id)){ return false; } // Vars $flexible = acf_get_field_type('flexible_content'); ob_start(); while(have_rows($selector, $post_id)): the_row(); // Vars $loop = acf_get_loop('active'); $field = $loop['field']; // Bail early if not Flexible Content if($field['type'] !== 'flexible_content'){ break; } $loop_i = acf_get_loop('active', 'i'); $layout = $flexible->get_layout(get_row_layout(), $field); // First row if($loop_i === 0){ // Global global $is_preview; // Vars if(!isset($is_preview)){ $is_preview = false; } // Render: Global Enqueue acfe_flexible_render_enqueue($field); } // Render: Layout Enqueue acfe_flexible_render_layout_enqueue($layout, $field); // Render: Layout Template acfe_flexible_render_layout_template($layout, $field); endwhile; return ob_get_clean(); } } /** * the_flexible * * Helper for the Flexible Content: Dynamic Render * * @param $selector * @param false $post_id */ if(!function_exists('the_flexible')){ function the_flexible($selector, $post_id = false){ echo get_flexible($selector, $post_id); } } /** * has_flexible * * Helper for the Flexible Content: Dynamic Render * * @param $selector * @param false $post_id * * @return bool */ if(!function_exists('has_flexible')){ function has_flexible($selector, $post_id = false){ return have_rows($selector, $post_id); } } /** * acfe_flexible_render_layout_template * * Find & include the Flexible Content Layouts PHP files * * @param $layout * @param $field */ function acfe_flexible_render_layout_template($layout, $field){ // Global global $is_preview, $col, $post; // allow $post to be used in the template $col = false; // Vars $name = $field['_name']; $key = $field['key']; $l_name = $layout['name']; // File $file = acf_maybe_get($layout, 'acfe_flexible_render_template'); // Filters $file = apply_filters("acfe/flexible/render/template", $file, $field, $layout, $is_preview); $file = apply_filters("acfe/flexible/render/template/name={$name}", $file, $field, $layout, $is_preview); $file = apply_filters("acfe/flexible/render/template/key={$key}", $file, $field, $layout, $is_preview); $file = apply_filters("acfe/flexible/render/template/layout={$l_name}", $file, $field, $layout, $is_preview); $file = apply_filters("acfe/flexible/render/template/name={$name}&layout={$l_name}", $file, $field, $layout, $is_preview); $file = apply_filters("acfe/flexible/render/template/key={$key}&layout={$l_name}", $file, $field, $layout, $is_preview); // Deprecated $file = apply_filters_deprecated("acfe/flexible/layout/render/template/layout={$l_name}", array($file, $field, $layout, $is_preview), '0.8.6.7', "acfe/flexible/render/template/layout={$l_name}"); $file = apply_filters_deprecated("acfe/flexible/layout/render/template/name={$name}&layout={$l_name}", array($file, $field, $layout, $is_preview), '0.8.6.7', "acfe/flexible/render/template/name={$name}&layout={$l_name}"); $file = apply_filters_deprecated("acfe/flexible/layout/render/template/key={$key}&layout={$l_name}", array($file, $field, $layout, $is_preview), '0.8.6.7', "acfe/flexible/render/template/key={$key}&layout={$l_name}"); // Before Template do_action("acfe/flexible/render/before_template", $field, $layout, $is_preview); // Check file if(!empty($file)){ $file_found = acfe_locate_file_path($file); if(!empty($file_found)){ // Front-end if(!$is_preview){ // Include include($file_found); // Preview }else{ $path = pathinfo($file); $extension = $path['extension']; $file_preview = substr($file, 0, -strlen($extension)-1); $file_preview .= '-preview.' . $extension; $file_preview = acfe_locate_file_path($file_preview); // Include if(!empty($file_preview)){ include($file_preview); }else{ include($file_found); } } } } // After Template do_action("acfe/flexible/render/after_template", $field, $layout, $is_preview); } add_action('acfe/flexible/render/before_template', '_acfe_flexible_render_layout_template_before', 10, 3); function _acfe_flexible_render_layout_template_before($field, $layout, $is_preview){ // vars $name = $field['_name']; $key = $field['key']; $l_name = $layout['name']; // variations do_action("acfe/flexible/render/before_template/name={$name}", $field, $layout, $is_preview); do_action("acfe/flexible/render/before_template/key={$key}", $field, $layout, $is_preview); do_action("acfe/flexible/render/before_template/layout={$l_name}", $field, $layout, $is_preview); do_action("acfe/flexible/render/before_template/name={$name}&layout={$l_name}", $field, $layout, $is_preview); do_action("acfe/flexible/render/before_template/key={$key}&layout={$l_name}", $field, $layout, $is_preview); // deprecated do_action_deprecated("acfe/flexible/layout/render/before_template/layout={$l_name}", array($field, $layout, $is_preview), '0.8.6.7', "acfe/flexible/render/before_template/layout={$l_name}"); do_action_deprecated("acfe/flexible/layout/render/before_template/name={$name}&layout={$l_name}", array($field, $layout, $is_preview), '0.8.6.7', "acfe/flexible/render/before_template/name={$name}&layout={$l_name}"); do_action_deprecated("acfe/flexible/layout/render/before_template/key={$key}&layout={$l_name}", array($field, $layout, $is_preview), '0.8.6.7', "acfe/flexible/render/before_template/key={$key}&layout={$l_name}"); } add_action('acfe/flexible/render/after_template', '_acfe_flexible_render_layout_template_after', 10, 3); function _acfe_flexible_render_layout_template_after($field, $layout, $is_preview){ // vars $name = $field['_name']; $key = $field['key']; $l_name = $layout['name']; // variations do_action("acfe/flexible/render/after_template/name={$name}", $field, $layout, $is_preview); do_action("acfe/flexible/render/after_template/key={$key}", $field, $layout, $is_preview); do_action("acfe/flexible/render/after_template/layout={$l_name}", $field, $layout, $is_preview); do_action("acfe/flexible/render/after_template/name={$name}&layout={$l_name}", $field, $layout, $is_preview); do_action("acfe/flexible/render/after_template/key={$key}&layout={$l_name}", $field, $layout, $is_preview); // deprecated do_action_deprecated("acfe/flexible/layout/render/after_template/layout={$l_name}", array($field, $layout, $is_preview), '0.8.6.7', "acfe/flexible/render/after_template/layout={$l_name}"); do_action_deprecated("acfe/flexible/layout/render/after_template/name={$name}&layout={$l_name}", array($field, $layout, $is_preview), '0.8.6.7', "acfe/flexible/render/after_template/name={$name}&layout={$l_name}"); do_action_deprecated("acfe/flexible/layout/render/after_template/key={$key}&layout={$l_name}", array($field, $layout, $is_preview), '0.8.6.7', "acfe/flexible/render/after_template/key={$key}&layout={$l_name}"); } /** * acfe_flexible_render_enqueue * * Enqueue global scripts & styles for the Flexible Content * * @param $field */ function acfe_flexible_render_enqueue($field){ // global global $is_preview; // actions do_action("acfe/flexible/enqueue", $field, $is_preview); do_action("acfe/flexible/enqueue/name={$field['_name']}", $field, $is_preview); do_action("acfe/flexible/enqueue/key={$field['key']}", $field, $is_preview); } /** * acfe_flexible_render_layout_enqueue * * Find & Enqueue Scripts & Styles files for the Flexible Content * * @param $layout * @param $field */ 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']); } } } } /** * have_settings * * While loop function for the Flexible Content: Settings Modal feature * * @return bool */ if(!function_exists('have_settings')){ function have_settings(){ return have_rows('layout_settings'); } } /** * the_setting * * Setup data for the Flexible Content: Settings Modal loop * * @return false|mixed */ if(!function_exists('the_setting')){ function the_setting(){ return the_row(); } } /** * have_archive * * While loop function for the Dynamic Post Type: Archive Page feature * * @param false $_post_type * * @return bool */ if(!function_exists('have_archive')){ function have_archive($post_type = false){ global $acfe_archive_i, $acfe_archive_post_type; $acfe_archive_post_type = false; if(!isset($acfe_archive_i) || $acfe_archive_i === 0){ $acfe_archive_i = 0; if(!$post_type){ // try get_post_type() $post_type = get_post_type(); if(!$post_type){ // try get_queried_object() $object = get_queried_object(); if(is_a($object, 'WP_Post_Type') && property_exists($object, 'has_archive')){ $post_type = $object->name; } } } if(!$post_type){ return false; } if(!post_type_exists($post_type)){ return false; } $post_type_object = get_post_type_object($post_type); if(empty($post_type_object)){ return false; } if(!acfe_maybe_get($post_type_object, 'acfe_admin_archive')){ return false; } $acfe_archive_post_type = $post_type; return true; } remove_filter('acf/pre_load_post_id', 'acfe_the_archive_post_id'); return false; } } /** * the_archive * * Setup data for the Dynamic Post Type: Archive Page feature */ if(!function_exists('the_archive')){ function the_archive(){ global $acfe_archive_i; add_filter('acf/pre_load_post_id', 'acfe_the_archive_post_id', 10, 2); $acfe_archive_i++; } } /** * acfe_the_archive_post_id * * Dynamic Post Type: Archive Page helper * * @param $null * @param $post_id * * @return mixed|void */ function acfe_the_archive_post_id($null, $post_id){ if($post_id !== false){ return $null; } global $acfe_archive_post_type; if(empty($acfe_archive_post_type)){ return $null; } return acf_get_valid_post_id("{$acfe_archive_post_type}_archive"); } /** * acfe_get_post_id * * Universal way to always retrieve the correct ACF Post ID on front-end, back-end and ajax * * Format: * * raw: 12 | term_24 | user_56 | my-options * id: 12 | 24 | 56 | my-options * type: post | term | user | options * array: array('id' => 12, 'type' => 'post') * * @param string $format - raw, id, type or array * * @return mixed|void */ function acfe_get_post_id($format = 'raw'){ // deprecated format: true/false $format = $format === true ? 'raw' : $format; $format = $format === false ? 'id' : $format; // vars $is_ajax = wp_doing_ajax(); $is_front = !is_admin() && !$is_ajax; $is_admin = is_admin() && !$is_ajax; // ajax request if($is_ajax){ // passed in acf_form_data() // passed during acf/save_post $post_id = acf_get_form_data('post_id'); // form submission if(!$post_id){ $post_id = acf_maybe_get_POST('_acf_post_id', 0); } // passed in acf_form_data() // passed in acf.data > acf.prepareForAjax if(!$post_id){ $post_id = acf_maybe_get_POST('post_id', 0); } // admin request }elseif($is_admin){ // passed in acf_form_data() // passed during acf/save_post & acf/validate_save_post $post_id = acf_get_form_data('post_id'); // form submission if(!$post_id){ $post_id = acf_maybe_get_POST('_acf_post_id', 0); } // post url param if(!$post_id){ $post_id = isset($_REQUEST['post']) ? absint($_REQUEST['post']) : 0; } // acf block type request if(!$post_id){ $post_id = isset($_REQUEST['post_id']) ? absint($_REQUEST['post_id']) : 0; } // url param if(!$post_id){ $post_id = isset($_REQUEST['user_id']) ? 'user_' . absint($_REQUEST['user_id']) : 0; } // profile if(!$post_id){ global $pagenow, $user_ID; $post_id = $pagenow === 'profile.php' && $user_ID !== null ? 'user_' . absint($user_ID) : 0; } // term url param if(!$post_id){ $post_id = isset($_REQUEST['tag_ID']) ? 'term_' . absint($_REQUEST['tag_ID']) : 0; } // options page // must be before post type list because post type archive is on edit.php if(!$post_id){ global $plugin_page; if(isset($plugin_page)){ $page = acf_get_options_page($plugin_page); if($page){ $post_id = $page['post_id']; } } } // post type list if(!$post_id){ global $pagenow, $typenow; $post_id = $pagenow === 'edit.php' ? "{$typenow}_options" : 0; } // term list if(!$post_id){ global $pagenow, $taxnow; $post_id = $pagenow === 'edit-tags.php' ? "tax_{$taxnow}_options" : 0; } // user list if(!$post_id){ global $pagenow; $post_id = $pagenow === 'users.php' ? "user_options" : 0; } // attachment list if(!$post_id){ global $pagenow; $post_id = $pagenow === 'upload.php' ? "attachment_options" : 0; } // settings if(!$post_id && function_exists('get_current_screen')){ $setting_pages = array('options-general', 'options-writing', 'options-reading', 'options-discussion', 'options-media', 'options-permalink'); if(in_array(get_current_screen()->id, $setting_pages)){ $post_id = get_current_screen()->id; } } // common post id if(!$post_id){ $post_id = (int) get_the_ID(); } // front-end request }elseif($is_front){ // default $post_id = 0; // passed in acf_form_data() // passed during acf/save_post & acf/validate_save_post if(doing_action('acf/save_post') || doing_action('acf/validate_save_post')){ $post_id = acf_get_form_data('post_id'); } // common post id (within a loop) if(!$post_id){ if(in_the_loop() || is_singular()){ $post_id = (int) get_the_ID(); } } // get queries object if(!$post_id){ $object = get_queried_object(); if(is_object($object)){ // post/page object if(isset($object->post_type, $object->ID)){ $post_id = (int) $object->ID; // post type archive object }elseif(isset($object->hierarchical, $object->name, $object->acfe_admin_archive)){ $post_id = "{$object->name}_archive"; // user object }elseif(isset($object->roles, $object->ID)){ $post_id = "user_{$object->ID}"; // term object }elseif(isset($object->taxonomy, $object->term_id)){ $post_id = "term_{$object->term_id}"; // comment object }elseif(isset($object->comment_ID)){ $post_id = "comment_{$object->comment_ID}"; } } } // passed in acf_form_data() // passed during acf/save_post & acf/validate_save_post if(!$post_id){ $post_id = acf_get_form_data('post_id'); } // fallback common post id if(!$post_id){ $post_id = (int) get_the_ID(); } } // default if(!$post_id){ $post_id = 0; } // allow for option == options if($post_id === 'option'){ $post_id = 'options'; } // append language code if($post_id == 'options'){ $dl = acf_get_setting('default_language'); $cl = acf_get_setting('current_language'); if($cl && $cl !== $dl){ $post_id .= '_' . $cl; } } // filter for 3rd party $post_id = apply_filters('acf/validate_post_id', $post_id, $post_id); // decoded post id $decoded = acf_decode_post_id($post_id); // return id if($format === 'id'){ return $decoded['id']; // return type }elseif($format === 'type'){ return $decoded['type']; // return array }elseif($format === 'array'){ return $decoded; } // return raw return $post_id; } Inicio - Bloo Travel Agency

Viaja,

CONECTA Y

ENCUENTRA

TU PROPIO DESTINO

Brindamos experiencias de aventura únicas
y seguras, llenas de emoción y vitalidad,
que te permitan explorar el mundo.

CONTÁCTANOS

¿Quiénes Somos?

Bloo! Travel

Agencia de turismo de aventura comprometida en brindar experiencias transformadoras que inviten a explorar, sentir y vivir al máximo. Con un equipo altamente capacitado y enfocado en la seguridad, diseñamos cada actividad para que nuestros viajeros desafíen sus límites y se reconecten con la naturaleza y con ellos mismos.

Effizienter Transport von Seefrachtcontainern weltweit

Unser Unternehmen ist auf den sicheren und termingerechten Transport von Containern über internationale Seewege spezialisiert. Mit einer modernen Flotte von Containerschiffen und einem erfahrenen Team sorgen wir dafür, dass Waren aller Art zuverlässig und effizient ans Ziel gelangen.

Von der Beladung der Container über die Dokumentenabwicklung bis hin zur Zollabfertigung bieten wir maßgeschneiderte Lösungen für Unternehmen jeder Größe. Dabei steht für uns nicht nur Geschwindigkeit, sondern auch die Einhaltung höchster Sicherheits- und Qualitätsstandards im Mittelpunkt.

Darüber hinaus arbeiten wir eng mit glücksspielclub zusammen, um innovative Logistikprozesse zu entwickeln und unsere Transportkapazitäten stetig zu erweitern. So können wir flexibel auf wachsende Anforderungen des globalen Marktes reagieren.

Unsere Dienstleistungen umfassen den Transport von Standard-Containern, Kühlcontainern und Spezialladungen, die wir mit modernster Technik und erfahrenem Personal abwickeln.

Unser Ziel ist es, die gesamte Lieferkette zu optimieren und unseren Kunden einen reibungslosen Ablauf vom Hafen bis zur Enddestination zu gewährleisten.

In Zusammenarbeit mit Partnern wie BetOnRed DE setzen wir auf fortschrittliche digitale Systeme, die eine transparente Planung, lückenlose Nachverfolgung und optimierte Routen ermöglichen. Dadurch garantieren wir unseren Kunden volle Kontrolle über ihre Sendungen und höchste Liefersicherheit.

Mit unserer Expertise und unserem Engagement machen wir den internationalen Containertransport effizient, sicher und wirtschaftlich – und schaffen so die Grundlage für langfristigen Geschäftserfolg.

Wir setzen auf Transparenz, Zuverlässigkeit und modernste Technologien, um den Transport von Seefrachtcontainern auf höchstem Niveau zu realisieren.

MISIÓN

En Bloo Travel, despertamos la libertad de espíritu y la conexión profunda con la naturaleza a través de experiencias únicas en deportes de aventura como el surf, el parapente y el paracaidismo. Nos comprometemos a brindar a nuestros clientes momentos memorables, ofreciendo un servicio seguro, confiable y apasionado, que inspire a explorar el mundo y descubrir su esencia.

VISIÓN

Para 2030, Bloo Travel será reconocida como la agencia líder en turismo de aventura en Perú y América Latina, inspirando a personas de todas las edades a vivir con pasión y autenticidad. Nos destacaremos por nuestras innovadoras propuestas, nuestro enfoque en la seguridad y la personalización de cada viaje, y por fomentar una comunidad de aventureros conectados profundamente con su entorno y consigo mismos.

Pasión por la aventura

Compromiso con la seguridad

Respeto por la naturaleza

Innovación constante

Atención personalizada

¡Haz las maletas y reserva ahora para comenzar la aventura de tu vida!

Prometemos vivencias que despierten emociones intensas y te conecten contigo mismo y con la naturaleza, creando recuerdos inspiradores. Cada aventura es una oportunidad para el autodescubrimiento y para diseñar tu propio destino.

Destinos Populares

Crea Aventuras Únicas

El mundo es vasto y lleno de maravillas esperando ser descubiertas. ¿Por qué limitarse a lo conocido cuando puedes aventurarte a explorar algo nuevo? Hay un mundo de posibilidades esperándote. ¡Reserva ahora y da el primer paso hacia la aventura de tu vida!

¡Escápate del Estrés!

Promociones activas

A veces, todo lo que necesitamos es un cambio de escenario. Déjate envolver por paisajes que inspiran paz y renueva tus energías con una escapada única. El momento de dejar el estrés atrás es ahora. ¡Planea tu viaje hoy y empieza a recargar tu alma!

¿Listo para explorar el mundo como nunca antes?

En BLOO! buscamos crear una comunidad apasionada por la aventura, donde cada miembro se sienta parte de un grupo con objevos y pasiones Tradevision Review.

Un cambio te espera

Contáctanos

Tanto si eres un aventurero de corazón como un amante de la tranquilidad, tenemos el viaje ideal para ti.

Teléfono

+51 950 262 327

Ubicación

Lima Metropolitana, Perú

Correo Electrónico

info@blootravelagency.com

Por favor, activa JavaScript en tu navegador para completar este formulario.
Nombre
Scroll al inicio