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;
}/*! elementor-pro - v3.34.0 - 26-01-2026 */
.elementor-widget-price-list .elementor-price-list{list-style:none;margin:0;padding:0}.elementor-widget-price-list .elementor-price-list li{margin:0}.elementor-price-list li:not(:last-child){margin-bottom:20px}.elementor-price-list .elementor-price-list-image{flex-shrink:0;max-width:50%;padding-inline-end:25px}.elementor-price-list .elementor-price-list-image img{width:100%}.elementor-price-list .elementor-price-list-header,.elementor-price-list .elementor-price-list-item,.elementor-price-list .elementor-price-list-text{display:flex}.elementor-price-list .elementor-price-list-item{align-items:flex-start}.elementor-price-list .elementor-price-list-item .elementor-price-list-text{align-items:flex-start;flex-grow:1;flex-wrap:wrap}.elementor-price-list .elementor-price-list-item .elementor-price-list-header{align-items:center;flex-basis:100%;font-size:19px;font-weight:600;justify-content:space-between;margin-bottom:10px}.elementor-price-list .elementor-price-list-item .elementor-price-list-title{max-width:80%}.elementor-price-list .elementor-price-list-item .elementor-price-list-price{font-weight:600}.elementor-price-list .elementor-price-list-item p.elementor-price-list-description{flex-basis:100%;font-size:14px;margin:0}.elementor-price-list .elementor-price-list-item .elementor-price-list-separator{border-bottom-style:dotted;border-bottom-width:2px;flex-grow:1;height:0;margin-inline:10px}.e-con-inner>.elementor-widget-price-list,.e-con>.elementor-widget-price-list{width:var(--container-widget-width);--flex-grow:var( --container-widget-flex-grow )}/**
* Related Posts Loader for Astra theme.
*
* @package Astra
* @link https://www.brainstormforce.com
* @since Astra 3.5.0
*/
if ( ! defined( 'ABSPATH' ) ) {
exit; // Exit if accessed directly.
}
/**
* Customizer Initialization
*
* @since 3.5.0
*/
class Astra_Related_Posts_Loader {
/**
* Constructor
*
* @since 3.5.0
*/
public function __construct() {
add_filter( 'astra_theme_defaults', array( $this, 'theme_defaults' ) );
add_action( 'customize_register', array( $this, 'related_posts_customize_register' ), 2 );
// Load Google fonts.
add_action( 'astra_get_fonts', array( $this, 'add_fonts' ), 1 );
}
/**
* Enqueue google fonts.
*
* @return void
*/
public function add_fonts() {
if ( astra_target_rules_for_related_posts() ) {
// Related Posts Section title.
$section_title_font_family = astra_get_option( 'related-posts-section-title-font-family' );
$section_title_font_weight = astra_get_option( 'related-posts-section-title-font-weight' );
Astra_Fonts::add_font( $section_title_font_family, $section_title_font_weight );
// Related Posts - Posts title.
$post_title_font_family = astra_get_option( 'related-posts-title-font-family' );
$post_title_font_weight = astra_get_option( 'related-posts-title-font-weight' );
Astra_Fonts::add_font( $post_title_font_family, $post_title_font_weight );
// Related Posts - Meta Font.
$meta_font_family = astra_get_option( 'related-posts-meta-font-family' );
$meta_font_weight = astra_get_option( 'related-posts-meta-font-weight' );
Astra_Fonts::add_font( $meta_font_family, $meta_font_weight );
// Related Posts - Content Font.
$content_font_family = astra_get_option( 'related-posts-content-font-family' );
$content_font_weight = astra_get_option( 'related-posts-content-font-weight' );
Astra_Fonts::add_font( $content_font_family, $content_font_weight );
}
}
/**
* Set Options Default Values
*
* @param array $defaults Astra options default value array.
* @return array
*/
public function theme_defaults( $defaults ) {
/**
* Update Astra default color and typography values. To not update directly on existing users site, added backwards.
*
* @since 4.0.0
*/
$apply_new_default_color_typo_values = Astra_Dynamic_CSS::astra_check_default_color_typo();
$astra_options = Astra_Theme_Options::get_astra_options();
$astra_blog_update = Astra_Dynamic_CSS::astra_4_6_0_compatibility();
// Related Posts.
$defaults['enable-related-posts'] = false;
$defaults['related-posts-title'] = __( 'Related Posts', 'astra' );
$defaults['releted-posts-title-alignment'] = 'left';
$defaults['related-posts-total-count'] = 2;
$defaults['enable-related-posts-excerpt'] = false;
$defaults['related-posts-box-placement'] = 'default';
$defaults['related-posts-outside-location'] = 'above';
$defaults['related-posts-container-width'] = $astra_blog_update ? '' : 'fallback';
$defaults['related-posts-excerpt-count'] = 25;
$defaults['related-posts-based-on'] = 'categories';
$defaults['related-posts-order-by'] = 'date';
$defaults['related-posts-order'] = 'asc';
$defaults['related-posts-grid-responsive'] = array(
'desktop' => '2-equal',
'tablet' => '2-equal',
'mobile' => 'full',
);
$defaults['related-posts-structure'] = array(
'featured-image',
'title-meta',
);
$defaults['related-posts-tag-style'] = 'none';
$defaults['related-posts-category-style'] = 'none';
$defaults['related-posts-date-format'] = '';
$defaults['related-posts-meta-date-type'] = 'published';
$defaults['related-posts-author-avatar-size'] = '';
$defaults['related-posts-author-avatar'] = false;
$defaults['related-posts-author-prefix-label'] = astra_default_strings( 'string-blog-meta-author-by', false );
$defaults['related-posts-image-size'] = '';
$defaults['related-posts-image-custom-scale-width'] = 16;
$defaults['related-posts-image-custom-scale-height'] = 9;
$defaults['related-posts-image-ratio-pre-scale'] = '16/9';
$defaults['related-posts-image-ratio-type'] = '';
$defaults['related-posts-meta-structure'] = array(
'comments',
'category',
'author',
);
// Related Posts - Color styles.
$defaults['related-posts-text-color'] = $apply_new_default_color_typo_values ? 'var(--ast-global-color-2)' : '';
$defaults['related-posts-link-color'] = '';
$defaults['related-posts-title-color'] = $apply_new_default_color_typo_values ? 'var(--ast-global-color-2)' : '';
$defaults['related-posts-background-color'] = '';
$defaults['related-posts-meta-color'] = '';
$defaults['related-posts-link-hover-color'] = '';
$defaults['related-posts-meta-link-hover-color'] = '';
// Related Posts - Title typo.
$defaults['related-posts-section-title-font-family'] = 'inherit';
$defaults['related-posts-section-title-font-weight'] = 'inherit';
$defaults['related-posts-section-title-text-transform'] = '';
$defaults['related-posts-section-title-line-height'] = $apply_new_default_color_typo_values ? '1.25' : '';
$defaults['related-posts-section-title-font-extras'] = array(
'line-height' => ! isset( $astra_options['related-posts-section-title-font-extras'] ) && isset( $astra_options['related-posts-section-title-line-height'] ) ? $astra_options['related-posts-section-title-line-height'] : '1.6',
'line-height-unit' => 'em',
'letter-spacing' => '',
'letter-spacing-unit' => 'px',
'text-transform' => ! isset( $astra_options['related-posts-section-title-font-extras'] ) && isset( $astra_options['related-posts-section-title-text-transform'] ) ? $astra_options['related-posts-section-title-text-transform'] : '',
'text-decoration' => '',
);
$defaults['related-posts-section-title-font-size'] = array(
'desktop' => $apply_new_default_color_typo_values ? '26' : '30',
'tablet' => '',
'mobile' => '',
'desktop-unit' => 'px',
'tablet-unit' => 'px',
'mobile-unit' => 'px',
);
// Related Posts - Title typo.
$defaults['related-posts-title-font-family'] = 'inherit';
$defaults['related-posts-title-font-weight'] = $apply_new_default_color_typo_values ? '500' : 'inherit';
$defaults['related-posts-title-text-transform'] = '';
$defaults['related-posts-title-line-height'] = '1';
$defaults['related-posts-title-font-size'] = array(
'desktop' => '20',
'tablet' => '',
'mobile' => '',
'desktop-unit' => 'px',
'tablet-unit' => 'px',
'mobile-unit' => 'px',
);
$defaults['related-posts-title-font-extras'] = array(
'line-height' => ! isset( $astra_options['related-posts-title-font-extras'] ) && isset( $astra_options['related-posts-title-line-height'] ) ? $astra_options['related-posts-title-line-height'] : ( $astra_blog_update ? '1.5' : '1' ),
'line-height-unit' => 'em',
'letter-spacing' => '',
'letter-spacing-unit' => 'px',
'text-transform' => ! isset( $astra_options['related-posts-title-font-extras'] ) && isset( $astra_options['related-posts-title-text-transform'] ) ? $astra_options['related-posts-title-text-transform'] : '',
'text-decoration' => '',
);
// Related Posts - Meta typo.
$defaults['related-posts-meta-font-family'] = 'inherit';
$defaults['related-posts-meta-font-weight'] = 'inherit';
$defaults['related-posts-meta-text-transform'] = '';
$defaults['related-posts-meta-line-height'] = '';
$defaults['related-posts-meta-font-size'] = array(
'desktop' => '14',
'tablet' => '',
'mobile' => '',
'desktop-unit' => 'px',
'tablet-unit' => 'px',
'mobile-unit' => 'px',
);
$defaults['related-posts-meta-font-extras'] = array(
'line-height' => ! isset( $astra_options['related-posts-meta-font-extras'] ) && isset( $astra_options['related-posts-meta-line-height'] ) ? $astra_options['related-posts-meta-line-height'] : '1.6',
'line-height-unit' => 'em',
'letter-spacing' => '',
'letter-spacing-unit' => 'px',
'text-transform' => ! isset( $astra_options['related-posts-meta-font-extras'] ) && isset( $astra_options['related-posts-meta-text-transform'] ) ? $astra_options['related-posts-meta-text-transform'] : '',
'text-decoration' => '',
);
// Related Posts - Content typo.
$defaults['related-posts-content-font-family'] = 'inherit';
$defaults['related-posts-content-font-weight'] = 'inherit';
$defaults['related-posts-content-font-extras'] = array(
'line-height' => ! isset( $astra_options['related-posts-content-font-extras'] ) && isset( $astra_options['related-posts-content-line-height'] ) ? $astra_options['related-posts-content-line-height'] : '',
'line-height-unit' => 'em',
'letter-spacing' => '',
'letter-spacing-unit' => 'px',
'text-transform' => ! isset( $astra_options['related-posts-content-font-extras'] ) && isset( $astra_options['related-posts-content-text-transform'] ) ? $astra_options['related-posts-content-text-transform'] : '',
'text-decoration' => '',
);
$defaults['related-posts-content-font-size'] = array(
'desktop' => '',
'tablet' => '',
'mobile' => '',
'desktop-unit' => 'px',
'tablet-unit' => 'px',
'mobile-unit' => 'px',
);
$defaults['ast-sub-section-related-posts-padding'] = array(
'desktop' => array(
'top' => 2.5,
'right' => 2.5,
'bottom' => 2.5,
'left' => 2.5,
),
'tablet' => array(
'top' => '',
'right' => '',
'bottom' => '',
'left' => '',
),
'mobile' => array(
'top' => '',
'right' => '',
'bottom' => '',
'left' => '',
),
'desktop-unit' => 'em',
'tablet-unit' => 'em',
'mobile-unit' => 'em',
);
$defaults['ast-sub-section-related-posts-margin'] = array(
'desktop' => array(
'top' => 2,
'right' => '',
'bottom' => '',
'left' => '',
),
'tablet' => array(
'top' => '',
'right' => '',
'bottom' => '',
'left' => '',
),
'mobile' => array(
'top' => '',
'right' => '',
'bottom' => '',
'left' => '',
),
'desktop-unit' => 'em',
'tablet-unit' => 'em',
'mobile-unit' => 'em',
);
return $defaults;
}
/**
* Add postMessage support for site title and description for the Theme Customizer.
*
* @param WP_Customize_Manager $wp_customize Theme Customizer object.
*
* @since 3.5.0
*/
public function related_posts_customize_register( $wp_customize ) {
/**
* Register Config control in Related Posts.
*/
// @codingStandardsIgnoreStart WPThemeReview.CoreFunctionality.FileInclude.FileIncludeFound
require_once ASTRA_RELATED_POSTS_DIR . 'customizer/class-astra-related-posts-configs.php';
// @codingStandardsIgnoreEnd WPThemeReview.CoreFunctionality.FileInclude.FileIncludeFound
}
/**
* Render the Related Posts title for the selective refresh partial.
*
* @since 3.5.0
*/
public function render_related_posts_title() {
return astra_get_option( 'related-posts-title' );
}
}
/**
* Kicking this off by creating NEW instace.
*/
new Astra_Related_Posts_Loader();
/**
* Deprecated Functions of Astra Theme.
*
* @package Astra
* @link https://wpastra.com/
* @since Astra 1.0.23
*/
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
/**
* Deprecating footer_menu_static_css function.
*
* Footer menu specific static CSS function.
*
* @since 3.7.4
* @deprecated footer_menu_static_css() Use astra_footer_menu_static_css()
* @see astra_footer_menu_static_css()
*
* @return string Parsed CSS
*/
function footer_menu_static_css() {
_deprecated_function( __FUNCTION__, '3.7.4', 'astra_footer_menu_static_css()' );
return astra_footer_menu_static_css();
}
/**
* Deprecating is_support_footer_widget_right_margin function.
*
* Backward managing function based on flag - 'support-footer-widget-right-margin' which fixes right margin issue in builder widgets.
*
* @since 3.7.4
* @deprecated is_support_footer_widget_right_margin() Use astra_support_footer_widget_right_margin()
* @see astra_support_footer_widget_right_margin()
*
* @return bool true|false
*/
function is_support_footer_widget_right_margin() {
_deprecated_function( __FUNCTION__, '3.7.4', 'astra_support_footer_widget_right_margin()' );
return astra_support_footer_widget_right_margin();
}
/**
* Deprecating prepare_button_defaults function.
*
* Default configurations for builder button components.
*
* @since 3.7.4
* @deprecated prepare_button_defaults() Use astra_prepare_button_defaults()
* @param array $defaults Button default configs.
* @param string $index builder button component index.
* @see astra_prepare_button_defaults()
*
* @return array
*/
function prepare_button_defaults( $defaults, $index ) {
_deprecated_function( __FUNCTION__, '3.7.4', 'astra_prepare_button_defaults()' );
return astra_prepare_button_defaults( $defaults, absint( $index ) );
}
/**
* Deprecating prepare_html_defaults function.
*
* Default configurations for builder HTML components.
*
* @since 3.7.4
* @deprecated prepare_html_defaults() Use astra_prepare_html_defaults()
* @param array $defaults HTML default configs.
* @param string $index builder HTML component index.
* @see astra_prepare_html_defaults()
*
* @return array
*/
function prepare_html_defaults( $defaults, $index ) {
_deprecated_function( __FUNCTION__, '3.7.4', 'astra_prepare_html_defaults()' );
return astra_prepare_html_defaults( $defaults, absint( $index ) );
}
/**
* Deprecating prepare_social_icon_defaults function.
*
* Default configurations for builder Social Icon components.
*
* @since 3.7.4
* @deprecated prepare_social_icon_defaults() Use astra_prepare_social_icon_defaults()
* @param array $defaults Social Icon default configs.
* @param string $index builder Social Icon component index.
* @see astra_prepare_social_icon_defaults()
*
* @return array
*/
function prepare_social_icon_defaults( $defaults, $index ) {
_deprecated_function( __FUNCTION__, '3.7.4', 'astra_prepare_social_icon_defaults()' );
return astra_prepare_social_icon_defaults( $defaults, absint( $index ) );
}
/**
* Deprecating prepare_widget_defaults function.
*
* Default configurations for builder Widget components.
*
* @since 3.7.4
* @deprecated prepare_widget_defaults() Use astra_prepare_widget_defaults()
* @param array $defaults Widget default configs.
* @param string $index builder Widget component index.
* @see astra_prepare_widget_defaults()
*
* @return array
*/
function prepare_widget_defaults( $defaults, $index ) {
_deprecated_function( __FUNCTION__, '3.7.4', 'astra_prepare_widget_defaults()' );
return astra_prepare_widget_defaults( $defaults, absint( $index ) );
}
/**
* Deprecating prepare_menu_defaults function.
*
* Default configurations for builder Menu components.
*
* @since 3.7.4
* @deprecated prepare_menu_defaults() Use astra_prepare_menu_defaults()
* @param array $defaults Menu default configs.
* @param string $index builder Menu component index.
* @see astra_prepare_menu_defaults()
*
* @return array
*/
function prepare_menu_defaults( $defaults, $index ) {
_deprecated_function( __FUNCTION__, '3.7.4', 'astra_prepare_menu_defaults()' );
return astra_prepare_menu_defaults( $defaults, absint( $index ) );
}
/**
* Deprecating prepare_divider_defaults function.
*
* Default configurations for builder Divider components.
*
* @since 3.7.4
* @deprecated prepare_divider_defaults() Use astra_prepare_divider_defaults()
* @param array $defaults Divider default configs.
* @param string $index builder Divider component index.
* @see astra_prepare_divider_defaults()
*
* @return array
*/
function prepare_divider_defaults( $defaults, $index ) {
_deprecated_function( __FUNCTION__, '3.7.4', 'astra_prepare_divider_defaults()' );
return astra_prepare_divider_defaults( $defaults, absint( $index ) );
}
/**
* Deprecating is_astra_pagination_enabled function.
*
* Checking if Astra's pagination enabled.
*
* @since 3.7.4
* @deprecated is_astra_pagination_enabled() Use astra_check_pagination_enabled()
* @see astra_check_pagination_enabled()
*
* @return bool true|false
*/
function is_astra_pagination_enabled() {
_deprecated_function( __FUNCTION__, '3.7.4', 'astra_check_pagination_enabled()' );
return astra_check_pagination_enabled();
}
/**
* Deprecating is_current_post_comment_enabled function.
*
* Checking if current post's comment enabled and comment section is open.
*
* @since 3.7.4
* @deprecated is_current_post_comment_enabled() Use astra_check_current_post_comment_enabled()
* @see astra_check_current_post_comment_enabled()
*
* @return bool true|false
*/
function is_current_post_comment_enabled() {
_deprecated_function( __FUNCTION__, '3.7.4', 'astra_check_current_post_comment_enabled()' );
return astra_check_current_post_comment_enabled();
}
/**
* Deprecating ast_load_preload_local_fonts function.
*
* Preload Google Fonts - Feature of self-hosting font.
*
* @since 3.7.4
* @deprecated ast_load_preload_local_fonts() Use astra_load_preload_local_fonts()
* @param string $google_font_url Google Font URL generated by customizer config.
* @see astra_load_preload_local_fonts()
*
* @return string
*/
function ast_load_preload_local_fonts( $google_font_url ) {
_deprecated_function( __FUNCTION__, '3.7.4', 'astra_load_preload_local_fonts()' );
return astra_load_preload_local_fonts( $google_font_url );
}
/**
* Deprecating ast_get_webfont_url function.
*
* Getting webfont based Google font URL.
*
* @since 3.7.4
* @deprecated ast_get_webfont_url() Use astra_get_webfont_url()
* @param string $google_font_url Google Font URL generated by customizer config.
* @see astra_get_webfont_url()
*
* @return string
*/
function ast_get_webfont_url( $google_font_url ) {
_deprecated_function( __FUNCTION__, '3.7.4', 'astra_get_webfont_url()' );
return astra_get_webfont_url( $google_font_url );
}
Inicio - Bloo Travel Agency
Ir al contenido