Viewing 30 results - 391 through 420 (of 16,890 total)
  • Author
    Search Results
  • #1478688

    In reply to: Enfold 7.0

    Here is the main file. the structure is included int the image. You might need to look at the include classes function and limit it to just cards.php for demo also you won’t have any of the CSS but we don’t need that to work for testing.

    (hosted on WPengine) alt="Screenshot" />

    functions.php of the plugin

    <?php

    /*..
    Plugin Name: Abstrakt Enfold Extensions
    Plugin URI: https://abstraktmg.com
    Description: Plugin for Abstrakt Marketing Group Designers Only
    Author: Nathaniel Riggins
    Author URI: https://abstraktmg.com
    Version: 2.0.5
    License: Private
    */

    if ( !defined(‘ABSPATH’) ) { die(‘-1’); }

    if (!class_exists(‘AbstraktEnfoldExtensions’)) {
    class AbstraktEnfoldExtensions {

    public string $plugin;
    private array $elements = array(
    ‘accordion’,
    ‘aces’,
    ‘badges’,
    ‘billboard’,
    ‘bulletin’,
    ‘button’,
    ‘cards’,
    ‘carousel’,
    ‘crawl’,
    ‘cube’,
    ‘deck’,
    ‘fashion’,
    ‘glow’,
    ‘hero’,
    ‘marquee’,
    ‘material’,
    ‘panorama’,
    ‘paper’,
    ‘pricing’,
    ‘rotators’,
    ‘tabs’,
    ‘testimonials’,
    ‘triple’,
    ‘versa’,
    ‘wall’,
    ‘waves’,
    );
    private array $deletes = array(
    ‘animate’,
    ‘blocks’,
    ‘intros’,
    ‘navi’,
    ‘neon’,
    ‘podcasts’,
    ‘posters’,
    ‘sticky’,
    ‘text’,
    ‘traveler’,
    );
    // Class construct
    function __construct() {
    $this->plugin = plugin_basename(__FILE__);
    add_action(‘wp_enqueue_scripts’, array($this, ‘load_scripts’));
    add_action(‘admin_enqueue_scripts’, array($this, ‘load_admin_scripts’));
    add_action(‘init’, array($this, ‘includeClasses’));
    add_action(‘avia_builder_mode’, array($this, ‘builder_set_debug’));
    add_action(‘admin_menu’, array($this, ‘amg_enfold_admin_menu’));
    add_action(‘admin_init’, array($this, ‘amg_enfold_admin_settings_init’));
    add_action(‘wp_footer’, array($this, ‘amg_enfold_popup’));
    add_action( ‘init’, array($this, ‘add_all_image_sizes’));
    }
    function add_all_image_sizes() :void
    {
    ///// AUTO SIZES ///
    add_image_size( ‘amg-auto-300’, 300);
    add_image_size( ‘amg-auto-500’, 500);
    add_image_size( ‘amg-auto-750’, 750);
    add_image_size( ‘amg-auto-1000’, 1000);
    add_image_size( ‘amg-auto-1250’, 1250);
    add_image_size( ‘amg-auto-1500’, 1500);
    add_image_size( ‘amg-auto-2000’, 2000);
    add_image_size( ‘amg-portrait-300’, 300, 400, true );
    add_image_size( ‘amg-portrait-450’, 450, 600, true );
    add_image_size( ‘amg-portrait-600’, 600, 800, true );
    add_image_size( ‘amg-portrait-750’, 750, 1000, true );
    add_image_size( ‘amg-landscape-320’, 320, 180, true );
    add_image_size( ‘amg-landscape-480’, 480, 270, true );
    add_image_size( ‘amg-landscape-720’, 720, 405, true );
    add_image_size( ‘amg-landscape-960’, 960, 540, true );
    add_image_size( ‘amg-landscape-1440’, 1440, 810, true );
    add_image_size( ‘amg-landscape-1920’, 1920, 1080, true );
    }
    function builder_set_debug()
    {
    return “debug”;
    }
    public static function get_image_sizes() : array
    {
    return array(
    __( ‘None’, ‘avia_framework’ ) => ”,
    __( ‘Auto 300w’, ‘avia_framework’ ) => ‘amg-auto-300’,
    __( ‘Auto 500w’, ‘avia_framework’ ) => ‘amg-auto-500’,
    __( ‘Auto 750w’, ‘avia_framework’ ) => ‘amg-auto-750’,
    __( ‘Auto 1000w’, ‘avia_framework’ ) => ‘amg-auto-1000’,
    __( ‘Auto 1250w’, ‘avia_framework’ ) => ‘amg-auto-1250’,
    __( ‘Auto 1500w’, ‘avia_framework’ ) => ‘amg-auto-1500’,
    __( ‘Auto 2000w’, ‘avia_framework’ ) => ‘amg-auto-2000’,

    __( ‘Portrait 300w’, ‘avia_framework’ ) => ‘amg-portrait-300’,
    __( ‘Portrait 450w’, ‘avia_framework’ ) => ‘amg-portrait-450’,
    __( ‘Portrait 600w’, ‘avia_framework’ ) => ‘amg-portrait-600’,
    __( ‘Portrait 750w’, ‘avia_framework’ ) => ‘amg-portrait-750’,

    __( ‘Landscape 320w’, ‘avia_framework’ ) => ‘amg-landscape-320’,
    __( ‘Landscape 480w’, ‘avia_framework’ ) => ‘amg-landscape-480’,
    __( ‘Landscape 720w’, ‘avia_framework’ ) => ‘amg-landscape-720’,
    __( ‘Landscape 960w’, ‘avia_framework’ ) => ‘amg-landscape-960’,
    __( ‘Landscape 1440w’, ‘avia_framework’ ) => ‘amg-landscape-1440’,
    __( ‘Landscape 1920w’, ‘avia_framework’ ) => ‘amg-landscape-1920’,
    );
    }

    public static function get_plugin_version():string
    {
    $data = get_plugin_data(__FILE__);
    return $data[‘Version’];
    }

    public static function developMode():bool {

    return get_option(‘amg_enfold_developer_mode’) == ‘yes’;
    }
    public function includeClasses():void {

    $count = count($this->elements);
    for ($i = 0; $i < $count; $i++) {
    if (get_option(“amg_enfold_extensions_{$this->elements[$i]}_active”) == ‘yes’) {
    include plugin_dir_path( __FILE__ ) . “/enfold/{$this->elements[$i]}/{$this->elements[$i]}.php”;
    }
    }
    }
    public function load_admin_scripts():void
    {
    $ver = AbstraktEnfoldExtensions::get_plugin_version();
    $developMode = AbstraktEnfoldExtensions::developMode();
    $lastmodtime = $developMode ? rand(1, 999999999) : $ver;
    wp_enqueue_style(‘amg-admin-enfold’, plugin_dir_url(__FILE__) . ‘css/style.min.css’, false, $lastmodtime);
    wp_enqueue_script(‘amg-admin-enfold-fontawesome’, ‘https://kit.fontawesome.com/ececabbde4.js&#8217;, false, $lastmodtime);
    }

    public function load_scripts():void {
    $ver = AbstraktEnfoldExtensions::get_plugin_version();
    $developMode = AbstraktEnfoldExtensions::developMode();
    $lastmodtime = $developMode ? rand(1, 999999999) : $ver;
    wp_enqueue_style(‘amg-enfold-icons’, plugin_dir_url(__FILE__) . ‘css/uicons.min.css’, array(‘avia-layout’), $lastmodtime);
    wp_enqueue_style( ‘amg-css-animate’, plugin_dir_url(__FILE__) . “css/animateCSS.min.css”, array( ‘avia-layout’ ) );
    wp_enqueue_style(‘amg-enfold’, plugin_dir_url(__FILE__) . ‘css/style.min.css’, array(‘avia-layout’), $lastmodtime);
    wp_enqueue_style(‘amg-swiper’, plugin_dir_url(__FILE__) . ‘css/swiper.css’, array(‘avia-layout’), $lastmodtime);
    wp_enqueue_script( ‘amg-gsap’, plugin_dir_url(__FILE__) . “js/gsap.min.js”, array( ‘amg-swiper’ ), $lastmodtime, true );
    wp_enqueue_script( ‘amg-enfold’, plugin_dir_url(__FILE__) . “js/script.min.js”, array(), $lastmodtime );
    wp_enqueue_script( ‘amg-swiper’, plugin_dir_url(__FILE__) . “js/swiper.js”, array(), $lastmodtime );
    }
    public static function get_duration_times():array {
    return array(
    __( ‘None’, ‘avia_framework’ ) => ”,
    __( ‘0.1s’, ‘avia_framework’ ) => ‘s100’,
    __( ‘0.2s’, ‘avia_framework’ ) => ‘s200’,
    __( ‘0.3s’, ‘avia_framework’ ) => ‘s300’,
    __( ‘0.4s’, ‘avia_framework’ ) => ‘s400’,
    __( ‘0.5s’, ‘avia_framework’ ) => ‘s500’,
    __( ‘0.6s’, ‘avia_framework’ ) => ‘s600’,
    __( ‘0.7s’, ‘avia_framework’ ) => ‘s700’,
    __( ‘0.8s’, ‘avia_framework’ ) => ‘s800’,
    __( ‘0.9s’, ‘avia_framework’ ) => ‘s900’,
    __( ‘1s’, ‘avia_framework’ ) => ‘s1000’,
    __( ‘1.1s’, ‘avia_framework’ ) => ‘s1100’,
    __( ‘1.2s’, ‘avia_framework’ ) => ‘s1200’,
    __( ‘1.3s’, ‘avia_framework’ ) => ‘s1300’,
    __( ‘1.4s’, ‘avia_framework’ ) => ‘s1400’,
    __( ‘1.5s’, ‘avia_framework’ ) => ‘s1500’,
    __( ‘1.6s’, ‘avia_framework’ ) => ‘s1600’,
    __( ‘1.7s’, ‘avia_framework’ ) => ‘s1700’,
    __( ‘1.8s’, ‘avia_framework’ ) => ‘s1800’,
    __( ‘1.9s’, ‘avia_framework’ ) => ‘s1900’,
    __( ‘2s’, ‘avia_framework’ ) => ‘s2000’,
    __( ‘2.1s’, ‘avia_framework’ ) => ‘s2100’,
    __( ‘2.2s’, ‘avia_framework’ ) => ‘s2200’,
    __( ‘2.3s’, ‘avia_framework’ ) => ‘s2300’,
    __( ‘2.4s’, ‘avia_framework’ ) => ‘s2400’,
    __( ‘2.5s’, ‘avia_framework’ ) => ‘s2500’,
    __( ‘2.6s’, ‘avia_framework’ ) => ‘s2600’,
    __( ‘2.7s’, ‘avia_framework’ ) => ‘s2700’,
    __( ‘2.8s’, ‘avia_framework’ ) => ‘s2800’,
    __( ‘2.9s’, ‘avia_framework’ ) => ‘s2900’,
    __( ‘3s’, ‘avia_framework’ ) => ‘s3000’,
    );
    }
    public static function get_delay_times():array {
    return array(
    __( ‘None’, ‘avia_framework’ ) => ”,
    __( ‘0.1s’, ‘avia_framework’ ) => ‘d100’,
    __( ‘0.2s’, ‘avia_framework’ ) => ‘d200’,
    __( ‘0.3s’, ‘avia_framework’ ) => ‘d300’,
    __( ‘0.4s’, ‘avia_framework’ ) => ‘d400’,
    __( ‘0.5s’, ‘avia_framework’ ) => ‘d500’,
    __( ‘0.6s’, ‘avia_framework’ ) => ‘d600’,
    __( ‘0.7s’, ‘avia_framework’ ) => ‘d700’,
    __( ‘0.8s’, ‘avia_framework’ ) => ‘d800’,
    __( ‘0.9s’, ‘avia_framework’ ) => ‘d900’,
    __( ‘1s’, ‘avia_framework’ ) => ‘d1000’,
    __( ‘1.1s’, ‘avia_framework’ ) => ‘d1100’,
    __( ‘1.2s’, ‘avia_framework’ ) => ‘d1200’,
    __( ‘1.3s’, ‘avia_framework’ ) => ‘d1300’,
    __( ‘1.4s’, ‘avia_framework’ ) => ‘d1400’,
    __( ‘1.5s’, ‘avia_framework’ ) => ‘d1500’,
    __( ‘1.6s’, ‘avia_framework’ ) => ‘d1600’,
    __( ‘1.7s’, ‘avia_framework’ ) => ‘d1700’,
    __( ‘1.8s’, ‘avia_framework’ ) => ‘d1800’,
    __( ‘1.9s’, ‘avia_framework’ ) => ‘d1900’,
    __( ‘2s’, ‘avia_framework’ ) => ‘d2000’,
    __( ‘2.1s’, ‘avia_framework’ ) => ‘d2100’,
    __( ‘2.2s’, ‘avia_framework’ ) => ‘d2200’,
    __( ‘2.3s’, ‘avia_framework’ ) => ‘d2300’,
    __( ‘2.4s’, ‘avia_framework’ ) => ‘d2400’,
    __( ‘2.5s’, ‘avia_framework’ ) => ‘d2500’,
    __( ‘2.6s’, ‘avia_framework’ ) => ‘d2600’,
    __( ‘2.7s’, ‘avia_framework’ ) => ‘d2700’,
    __( ‘2.8s’, ‘avia_framework’ ) => ‘d2800’,
    __( ‘2.9s’, ‘avia_framework’ ) => ‘d2900’,
    __( ‘3s’, ‘avia_framework’ ) => ‘d3000’,
    );
    }

    public static function get_slider_speeds():array {
    return array(
    __( ‘3s’, ‘avia_framework’ ) => ‘3000’,
    __( ‘4s’, ‘avia_framework’ ) => ‘4000’,
    __( ‘5s’, ‘avia_framework’ ) => ‘5000’,
    __( ‘6s’, ‘avia_framework’ ) => ‘6000’,
    __( ‘7s’, ‘avia_framework’ ) => ‘7000’,
    __( ‘8s’, ‘avia_framework’ ) => ‘8000’,
    __( ‘9s’, ‘avia_framework’ ) => ‘9000’,
    __( ’10s’, ‘avia_framework’ ) => ‘10000’,
    __( ’11s’, ‘avia_framework’ ) => ‘11000’,
    __( ’12s’, ‘avia_framework’ ) => ‘12000’,
    __( ’13s’, ‘avia_framework’ ) => ‘13000’,
    __( ’14s’, ‘avia_framework’ ) => ‘14000’,
    __( ’15s’, ‘avia_framework’ ) => ‘15000’,
    );
    }
    public static function get_intro_animations():array {
    return array(
    array(
    __( ‘None’, ‘avia_framework’ ) => ”,
    __( ‘animate__bounce’, ‘avia_framework’ ) => ‘animate__animated animate__bounce’,
    __( ‘animate__flash’, ‘avia_framework’ ) => ‘animate__animated animate__flash’,
    __( ‘Back in down’, ‘avia_framework’ ) => ‘animate__animated animate__backInDown’,
    __( ‘Back in left’, ‘avia_framework’ ) => ‘animate__animated animate__backInLeft’,
    __( ‘Back in right’, ‘avia_framework’ ) => ‘animate__animated animate__backInRight’,
    __( ‘Back in up’, ‘avia_framework’ ) => ‘animate__animated animate__backInUp’,
    __( ‘Bounce in’, ‘avia_framework’ ) => ‘animate__animated animate__bounceIn’,
    __( ‘Bounce in down’, ‘avia_framework’ ) => ‘animate__animated animate__bounceInDown’,
    __( ‘Bounce in left’, ‘avia_framework’ ) => ‘animate__animated animate__bounceInLeft’,
    __( ‘Bounce in right’, ‘avia_framework’ ) => ‘animate__animated animate__bounceInRight’,
    __( ‘Bounce in up’, ‘avia_framework’ ) => ‘animate__animated animate__bounceInUp’,
    __( ‘Fade in’, ‘avia_framework’ ) => ‘animate__animated animate__fadeIn’,
    __( ‘Fade in bottom left’, ‘avia_framework’ ) => ‘animate__animated animate__fadeInBottomLeft’,
    __( ‘Fade in bottom right’, ‘avia_framework’ ) => ‘animate__animated animate__fadeInBottomRight’,
    __( ‘Fade in down’, ‘avia_framework’ ) => ‘animate__animated animate__fadeInDown’,
    __( ‘Fade down big’, ‘avia_framework’ ) => ‘animate__animated animate__fadeInDownBig’,
    __( ‘Fade in left’, ‘avia_framework’ ) => ‘animate__animated animate__fadeInLeft’,
    __( ‘Fade in left big’, ‘avia_framework’ ) => ‘animate__animated animate__fadeInLeftBig’,
    __( ‘Fade in right’, ‘avia_framework’ ) => ‘animate__animated animate__fadeInRight’,
    __( ‘Fade in right big’, ‘avia_framework’ ) => ‘animate__animated animate__fadeInRightBig’,
    __( ‘Fade in up’, ‘avia_framework’ ) => ‘animate__animated animate__fadeInUp’,
    __( ‘Fade in up big’, ‘avia_framework’ ) => ‘animate__animated animate__fadeInUpBig’,
    __( ‘Fade in top left’, ‘avia_framework’ ) => ‘animate__animated animate__fadeInTopLeft’,
    __( ‘Fade in top right’, ‘avia_framework’ ) => ‘animate__animated animate__fadeInTopRight’,
    __( ‘Flip’, ‘avia_framework’ ) => ‘animate__animated animate__flip’,
    __( ‘Flip X’, ‘avia_framework’ ) => ‘animate__animated animate__flipInX’,
    __( ‘Flip Y’, ‘avia_framework’ ) => ‘animate__animated animate__flipInY’,
    __( ‘Head Shake’, ‘avia_framework’ ) => ‘animate__animated animate__headShake’,
    __( ‘Heartbeat’, ‘avia_framework’ ) => ‘animate__animated animate__heartBeat’,
    __( ‘Hinge’, ‘avia_framework’ ) => ‘animate__animated animate__hinge’,
    __( ‘Jack In The Box’, ‘avia_framework’ ) => ‘animate__animated animate__jackInTheBox’,
    __( ‘Jello’, ‘avia_framework’ ) => ‘animate__animated animate__jello’,
    __( ‘Lightspeed in left’, ‘avia_framework’ ) => ‘animate__animated animate__lightSpeedInLeft’,
    __( ‘Lightspeed in right’, ‘avia_framework’ ) => ‘animate__animated animate__lightSpeedInRight’,
    __( ‘Mask’, ‘avia_framework’ ) => ‘animate__animated animate__pulse’,
    __( ‘Roll in’, ‘avia_framework’ ) => ‘animate__animated animate__rollIn’,
    __( ‘Rotate in’, ‘avia_framework’ ) => ‘animate__animated animate__rotateIn’,
    __( ‘Rotate down left’, ‘avia_framework’ ) => ‘animate__animated animate__rotateInDownLeft’,
    __( ‘Rotate in down right’, ‘avia_framework’ ) => ‘animate__animated animate__rotateInDownRight’,
    __( ‘Rotate in up left’, ‘avia_framework’ ) => ‘animate__animated animate__rotateInUpLeft’,
    __( ‘Rotate in up right’, ‘avia_framework’ ) => ‘animate__animated animate__rotateInUpRight’,
    __( ‘Rubber Band’, ‘avia_framework’ ) => ‘animate__animated animate__rubberBand’,
    __( ‘Shake X’, ‘avia_framework’ ) => ‘animate__animated animate__shakeX’,
    __( ‘Shake Y’, ‘avia_framework’ ) => ‘animate__animated animate__shakeY’,
    __( ‘Slide in’, ‘avia_framework’ ) => ‘animate__animated animate__slideInDown’,
    __( ‘Slide in left’, ‘avia_framework’ ) => ‘animate__animated animate__slideInLeft’,
    __( ‘Slide in right’, ‘avia_framework’ ) => ‘animate__animated animate__slideInRight’,
    __( ‘Slide in up’, ‘avia_framework’ ) => ‘animate__animated animate__slideInUp’,
    __( ‘Swing’, ‘avia_framework’ ) => ‘animate__animated animate__swing’,
    __( ‘Tada’, ‘avia_framework’ ) => ‘animate__animated animate__tada’,
    __( ‘Wobble’, ‘avia_framework’ ) => ‘animate__animated animate__wobble’,
    __( ‘Zoom in’, ‘avia_framework’ ) => ‘animate__animated animate__zoomIn’,
    __( ‘Zoom in down’, ‘avia_framework’ ) => ‘animate__animated animate__zoomInDown’,
    __( ‘Zoom in left’, ‘avia_framework’ ) => ‘animate__animated animate__zoomInLeft’,
    __( ‘Zoom in right’, ‘avia_framework’ ) => ‘animate__animated animate__zoomInRight’,
    __( ‘Zoom in up’, ‘avia_framework’ ) => ‘animate__animated animate__zoomInUp’,
    )
    );
    }
    public static function get_button_links($type):array {
    $data = match ($type) {
    ‘page’ => get_pages(),
    default => get_posts(),
    };
    $links = array();
    foreach ($data as $link) {
    $links[__( $link->post_title, ‘avia_framework’ )] = $link->post_name;
    }

    return $links;
    }
    public static function get_full_percentage():array {
    $i = 1;
    $nums = array();
    while ($i < 101) {
    $k = $i . ‘%’;
    $nums[$k] = $i . ‘%’;
    $i++;
    }
    return $nums;
    }
    public static function get_full_360():array {
    $i = 1;
    $nums = array();
    while ($i < 361) {
    $k = $i;
    $nums[$k] = $i;
    $i++;
    }
    return $nums;
    }
    public static function create_button_link($atts, $b = ‘button’):string {
    $link = ”;
    if (isset($atts[$b]) && $atts[$b] == ‘yes’) {
    switch ($atts[$b . ‘_link_type’]) {
    case ‘page’:
    $link = home_url() . ‘/’ . $atts[$b . ‘_page_link’];
    break;
    case ‘post’:
    $link .= home_url() . ‘/’ . $atts[$b . ‘_post_link’];
    break;
    case ‘custom’:
    $link .= $atts[$b . ‘_custom_link’];
    break;
    default:

    }
    }
    return $link;
    }
    public static function get_seconds():array {
    return array(
    ‘1s’ => ‘1s’,
    ‘2s’ => ‘2s’,
    ‘3s’ => ‘3s’,
    ‘4s’ => ‘4s’,
    ‘5s’ => ‘5s’,
    ‘6s’ => ‘6s’,
    ‘7s’ => ‘7s’,
    ‘8s’ => ‘8s’,
    ‘9s’ => ‘9s’,
    ’10s’ => ’10s’,
    ’11s’ => ’11s’,
    ’12s’ => ’12s’,
    ’13s’ => ’13s’,
    ’14s’ => ’14s’,
    ’15s’ => ’15s’,
    ’16s’ => ’16s’,
    ’17s’ => ’17s’,
    ’18s’ => ’18s’,
    ’19s’ => ’19s’,
    ’20s’ => ’20s’,
    );
    }
    public static function select_button_style():array {
    $arr = array (
    __( ‘Animated Gradient’, ‘avia_framework’ ) => ‘amg_1’,
    __( ‘Candied Colored 1’, ‘avia_framework’ ) => ‘amg_2’,
    __( ‘Candied Colored 2’, ‘avia_framework’ ) => ‘amg_3’,
    __( ‘Candied Colored 3’, ‘avia_framework’ ) => ‘amg_4’,
    __( ‘Candied Colored 4’, ‘avia_framework’ ) => ‘amg_5’,
    __( ‘Candied Colored 5’, ‘avia_framework’ ) => ‘amg_6’,
    __( ‘Candied Colored 6’, ‘avia_framework’ ) => ‘amg_7’,
    __( ‘Candied Colored 7’, ‘avia_framework’ ) => ‘amg_8’,
    __( ‘Candied Colored 8’, ‘avia_framework’ ) => ‘amg_9’,
    __( ‘Candied Colored 9’, ‘avia_framework’ ) => ‘amg_10’,
    __( ‘Candied Colored 10’, ‘avia_framework’ ) => ‘amg_11’,
    __( ‘Candied Colored 11’, ‘avia_framework’ ) => ‘amg_12’,
    __( ‘Candied Colored 12’, ‘avia_framework’ ) => ‘amg_13’,
    __( ‘Candied Colored 13’, ‘avia_framework’ ) => ‘amg_14’,
    __( ‘Candied Colored 14’, ‘avia_framework’ ) => ‘amg_15’,
    __( ‘Candied Colored 15’, ‘avia_framework’ ) => ‘amg_16’,
    __( ‘Candied Colored 16’, ‘avia_framework’ ) => ‘amg_17’,
    __( ‘Coin’, ‘avia_framework’ ) => ‘amg_18’,
    __( ‘Cold Light’, ‘avia_framework’ ) => ‘amg_19’,
    __( ‘Flip Box’, ‘avia_framework’ ) => ‘amg_20’,
    __( ‘Gradient’, ‘avia_framework’ ) => ‘amg_21’,
    __( ‘Gradient Glow’, ‘avia_framework’ ) => ‘amg_22’,
    __( ‘Gradient Hole’, ‘avia_framework’ ) => ‘amg_61’,
    __( ‘Hover 1’, ‘avia_framework’ ) => ‘amg_23’,
    __( ‘Hover 2’, ‘avia_framework’ ) => ‘amg_24’,
    __( ‘Hover 3’, ‘avia_framework’ ) => ‘amg_25’,
    __( ‘Hover 4’, ‘avia_framework’ ) => ‘amg_26’,
    __( ‘Label Slice’, ‘avia_framework’ ) => ‘amg_27’,
    __( ‘Liquid’, ‘avia_framework’ ) => ‘amg_28’,
    __( ‘Menu’, ‘avia_framework’ ) => ‘amg_29’,
    __( ‘Modern 1’, ‘avia_framework’ ) => ‘amg_30’,
    __( ‘Modern 2’, ‘avia_framework’ ) => ‘amg_31’,
    __( ‘Modern 3’, ‘avia_framework’ ) => ‘amg_32’,
    __( ‘Modern 4’, ‘avia_framework’ ) => ‘amg_33’,
    __( ‘Modern 5’, ‘avia_framework’ ) => ‘amg_34’,
    __( ‘Modern 6’, ‘avia_framework’ ) => ‘amg_35’,
    __( ‘Modern 7’, ‘avia_framework’ ) => ‘amg_36’,
    __( ‘Modern 8’, ‘avia_framework’ ) => ‘amg_37’,
    __( ‘Modern 9’, ‘avia_framework’ ) => ‘amg_38’,
    __( ‘Modern 10’, ‘avia_framework’ ) => ‘amg_39’,
    __( ‘Modern 11’, ‘avia_framework’ ) => ‘amg_40’,
    __( ‘Modern 12’, ‘avia_framework’ ) => ‘amg_41’,
    __( ‘Modern 13’, ‘avia_framework’ ) => ‘amg_42’,
    __( ‘Modern 14’, ‘avia_framework’ ) => ‘amg_43’,
    __( ‘Modern 15’, ‘avia_framework’ ) => ‘amg_44’,
    __( ‘Modern 16’, ‘avia_framework’ ) => ‘amg_45’,
    __( ‘Modern 17’, ‘avia_framework’ ) => ‘amg_46’,
    __( ‘Modern 18’, ‘avia_framework’ ) => ‘amg_47’,
    __( ‘Modern 19’, ‘avia_framework’ ) => ‘amg_48’,
    __( ‘Modern 20’, ‘avia_framework’ ) => ‘amg_49’,
    __( ‘Modern 21’, ‘avia_framework’ ) => ‘amg_50’,
    __( ‘Modern 22’, ‘avia_framework’ ) => ‘amg_51’,
    __( ‘Modern 23’, ‘avia_framework’ ) => ‘amg_52’,
    __( ‘Modern 24’, ‘avia_framework’ ) => ‘amg_53’,
    __( ‘Modern 25’, ‘avia_framework’ ) => ‘amg_54’,
    __( ‘Modern 26’, ‘avia_framework’ ) => ‘amg_55’,
    __( ‘Modern 27’, ‘avia_framework’ ) => ‘amg_56’,
    __( ‘Modern 28’, ‘avia_framework’ ) => ‘amg_57’,
    __( ‘Plastic’, ‘avia_framework’ ) => ‘amg_58’,
    __( ‘Neon Lines’, ‘avia_framework’ ) => ‘amg_59’,
    __( ‘Pulsating’, ‘avia_framework’ ) => ‘amg_60’,
    __( ‘Hover 4’, ‘avia_framework’ ) => ‘amg_62’,
    __( ‘Snake Border 2’, ‘avia_framework’ ) => ‘amg_63’,
    __( ‘Hover 5’, ‘avia_framework’ ) => ‘amg_64’,
    __( ‘Hover 6’, ‘avia_framework’ ) => ‘amg_65’,
    __( ‘Ripple’, ‘avia_framework’ ) => ‘amg_66’,
    __( ‘Snake Border 1’, ‘avia_framework’ ) => ‘amg_67’,
    __( ‘Gradient Hover Border’, ‘avia_framework’ ) => ‘amg_68’,
    __( ‘Pulsar’, ‘avia_framework’ ) => ‘amg_69’,
    __( ‘Neon Lights’, ‘avia_framework’ ) => ‘amg_70’,
    __( ‘Blend Mode’, ‘avia_framework’ ) => ‘amg_71’,
    __( ‘Bubble Bursts’, ‘avia_framework’ ) => ‘amg_72’,

    );
    ksort($arr, SORT_NATURAL);
    return $arr;
    }
    function amg_enfold_admin_menu() : void
    {
    add_options_page(
    ‘AMG Enfold Extensions’,
    ‘AMG Enfold’,
    ‘manage_options’,
    ‘amg-enfold-options’,
    array(
    $this,
    ‘amg_enfold_admin_settings’
    ),
    ‘1’
    );
    }
    function amg_enfold_admin_settings_init() : void
    {
    /// sticky banner text
    add_settings_section (
    ‘enfold_extensions_developer_section’ ,
    ‘Developer’ ,
    ”,
    ‘amg-enfold-options’
    );

    add_settings_section (
    ‘enfold_extensions_elements_section’ ,
    ‘Active Elements’ ,
    ”,
    ‘amg-enfold-options’
    );

    register_setting(
    ‘amg-enfold-options’,
    ‘amg_enfold_developer_mode’,
    array(
    ‘type’ => ‘string’,
    ‘sanitize_callback’ => ‘sanitize_text_field’,
    ‘default’ => ‘no’
    )
    );
    add_settings_field(
    ‘amg_enfold_developer_mode’,
    ‘Developer Mode On’,
    array($this, ‘amg_enfold_developer_mode_callback’),
    ‘amg-enfold-options’,
    ‘enfold_extensions_developer_section’
    );

    $count = count($this->elements);
    for ($i = 0; $i < $count; $i++) {
    register_setting(
    ‘amg-enfold-options’,
    “amg_enfold_extensions_{$this->elements[$i]}_active”,
    array(
    ‘type’ => ‘string’,
    ‘default’ => ”
    )
    );
    add_settings_field(
    “amg_enfold_extensions_{$this->elements[$i]}_active”,
    ucfirst($this->elements[$i]),
    array($this, ‘amg_enfold_modules_callback’),
    ‘amg-enfold-options’,
    ‘enfold_extensions_elements_section’,
    $this->elements[$i]

    );
    }

    $count = count($this->deletes);
    for ($k = 0; $i < $count; $k++) {
    $option = get_option(“amg_enfold_extensions_{$this->deletes[$k]}_active”);
    if (!empty($option)) {
    delete_option(“amg_enfold_extensions_{$this->deletes[$k]}_active”);
    }
    }
    }
    function amg_enfold_admin_settings(): void
    {
    require_once plugin_dir_path(__FILE__) . ‘templates/admin_settings.php’;
    }
    public function amg_enfold_developer_mode_callback(): void
    {
    $checked = checked( ‘yes’, get_option( ‘amg_enfold_developer_mode’ ), false );
    ?>
    <input type=”checkbox” name=”amg_enfold_developer_mode” value=”yes” <?php echo $checked ?>/>
    <?php
    }
    public function amg_enfold_modules_callback($name): void
    {
    $field = “amg_enfold_extensions_{$name}_active”;
    $checked = checked( ‘yes’, get_option( $field ), false );
    ?>
    <input type=”checkbox” name=”<?php echo $field ?>” value=”yes” <?php echo $checked ?>/>  
    ” target=”_blank”><i class=”fa-solid fa-arrow-up-right-from-square”></i>

    <?php
    }
    public static function amg_enfold_popup() : void
    {
    $html = “<div id=’amg-enfold-popup’ class=”>”;
    $html .= “<div id=’amg-enfold-popup-bg’></div>”;
    $html .= “<div id=’amg-enfold-popup-box’>”;
    $html .= “<div id=’amg-enfold-popup-close’><i class=’fi fi-br-circle-xmark’></i></div>”;
    $html .= “<div id=’content’></div>”;
    $html .= “</div></div>”;
    echo $html;
    }

    public static function prepare_navigation(array $atts): array
    {
    $prev_button = ”;
    $next_button = ”;
    if (isset($atts[‘navigation’]) && $atts[‘navigation’] == ‘yes’) {
    $prev_button = “<div class=’swiper-button-prev’></div>”;
    $next_button = ‘<div class=”swiper-button-next”></div>’;
    }
    if (isset($atts[‘pagination’]) && $atts[‘pagination’] == ‘yes’) {
    $pagination = “<div class=’swiper-pagination’></div>”;
    }

    $above = ”;
    $below = ”;
    $side = ”;
    if (isset($atts[‘navigation_position’]) && $atts[‘navigation_position’] == ‘above’ && $atts[‘nav_layout’] == ‘custom’) {
    $above = “<div class=’swiper-nav-wrapper above’>”;
    $above .= $prev_button;
    $above .= $pagination;
    $above .= $next_button;
    $above .= ‘</div>’;
    } else if (isset($atts[‘navigation_position’]) && $atts[‘navigation_position’] == ‘below’ && $atts[‘nav_layout’] == ‘custom’) {
    $below = “<div class=’swiper-nav-wrapper below’>”;
    $below .= $prev_button;
    $below .= $pagination;
    $below .= $next_button;
    $below .= ‘</div>’;
    } else {
    $below = $pagination;
    $side = $prev_button;
    $side .= $next_button;
    }
    return array($atts, $above, $below, $side);
    }

    public static function amg_enfold_section($title) : array
    {
    $c = null;
    $template = null;
    switch ($title) {
    case ‘Button’:
    $c = array(
    array(
    ‘name’ => __( ‘Enable?’, ‘avia_framework’ ),
    ‘desc’ => __( ‘Choosing yes enables the button for this single element.’, ‘avia_framework’ ),
    ‘id’ => ‘button’,
    ‘type’ => ‘select’,
    ‘std’ => ‘no’,
    ‘lockable’ => true,
    ‘subtype’ => array(
    __( ‘No’, ‘avia_framework’ ) => ‘no’,
    __( ‘Yes’, ‘avia_framework’ ) => ‘yes’ ,
    )
    ),
    array(
    ‘name’ => __( ‘Button Label’, ‘avia_framework’ ),
    ‘desc’ => __( ‘This is the text that appears on your button.’, ‘avia_framework’ ),
    ‘id’ => ‘label’,
    ‘type’ => ‘input’,
    ‘std’ => __( ‘Contact Us’, ‘avia_framework’ ),
    ‘required’ => array( ‘button’, ‘equals’, ‘yes’ ),
    ‘lockable’ => true
    ),
    /* array(
    ‘name’ => __( ‘Show Button Icon’, ‘avia_framework’ ),
    ‘desc’ => __( ‘Should an icon be displayed at the left or right side of the button’, ‘avia_framework’ ),
    ‘id’ => ‘button_icon_select’,
    ‘type’ => ‘select’,
    ‘std’ => ‘yes’,
    ‘lockable’ => true,
    ‘required’ => array( ‘button’, ‘equals’, ‘yes’ ),
    ‘subtype’ => array(
    __( ‘No Icon’, ‘avia_framework’ ) => ‘no’,
    __( ‘Display icon to the left’, ‘avia_framework’ ) => ‘yes’ ,
    __( ‘Display icon to the right’, ‘avia_framework’ ) => ‘yes-right-icon’,
    )
    ),
    array(
    ‘name’ => __( ‘Button Icon’, ‘avia_framework’ ),
    ‘desc’ => __( ‘Select an icon for your Button below’, ‘avia_framework’ ),
    ‘id’ => ‘button_icon’,
    ‘type’ => ‘iconfont’,
    ‘std’ => ”,
    ‘lockable’ => true,
    ‘locked’ => array( ‘button_icon’, ‘font’ ),
    ‘required’ => array( ‘button_icon_select’, ‘not_empty_and’, ‘no’ )
    ),
    array(
    ‘name’ => __( ‘Icon Visibility’, ‘avia_framework’ ),
    ‘desc’ => __( ‘Check to only display icon on hover’, ‘avia_framework’ ),
    ‘id’ => ‘button_icon_hover’,
    ‘type’ => ‘checkbox’,
    ‘std’ => ”,
    ‘lockable’ => true,
    ‘required’ => array( ‘button_icon_select’, ‘not_empty_and’, ‘no’ )
    )*/

    );
    break;
    case ‘Link Settings’:
    $template = array(
    array(
    ‘type’ => ‘template’,
    ‘template_id’ => ‘linkpicker_toggle’,
    ‘name’ => __( ‘Button Link’, ‘avia_framework’ ),
    ‘desc’ => __( ‘Where should your button link to?’, ‘avia_framework’ ),
    ‘subtypes’ => array( ‘manually’, ‘single’, ‘taxonomy’ ),
    ‘target_id’ => ‘link_target’,
    ‘lockable’ => true
    ),
    );
    break;
    case ‘Appearance’:
    $c = array(
    array(
    ‘name’ => __( ‘Button Size’, ‘avia_framework’ ),
    ‘desc’ => __( ‘Choose the size of your button here.’, ‘avia_framework’ ),
    ‘id’ => ‘size’,
    ‘type’ => ‘select’,
    ‘std’ => ‘small’,
    ‘lockable’ => true,
    ‘subtype’ => array(
    __( ‘Small’, ‘avia_framework’ ) => ‘small’,
    __( ‘Medium’, ‘avia_framework’ ) => ‘medium’,
    __( ‘Large’, ‘avia_framework’ ) => ‘large’,
    __( ‘X Large’, ‘avia_framework’ ) => ‘x-large’
    )
    ),

    array(
    ‘name’ => __( ‘Button Position’, ‘avia_framework’ ),
    ‘desc’ => __( ‘Choose the alignment of your button here’, ‘avia_framework’ ),
    ‘id’ => ‘position’,
    ‘type’ => ‘select’,
    ‘std’ => ‘center’,
    ‘lockable’ => true,
    ‘subtype’ => array(
    __( ‘Align Left’, ‘avia_framework’ ) => ‘left’,
    __( ‘Align Center’, ‘avia_framework’ ) => ‘center’,
    __( ‘Align Right’, ‘avia_framework’ ) => ‘right’,
    ),
    ‘required’ => array( ‘size’, ‘not’, ‘fullwidth’ )
    ),

    array(
    ‘name’ => __( ‘Button Label Display’, ‘avia_framework’ ),
    ‘desc’ => __( ‘Select how to display the label’, ‘avia_framework’ ),
    ‘id’ => ‘label_display’,
    ‘type’ => ‘select’,
    ‘std’ => ”,
    ‘lockable’ => true,
    ‘subtype’ => array(
    __( ‘Always display’, ‘avia_framework’ ) => ”,
    __( ‘Display on hover’, ‘avia_framework’ ) => ‘av-button-label-on-hover’,
    )
    ),

    array(
    ‘name’ => __( ‘Button Title Attribute’, ‘avia_framework’ ),
    ‘desc’ => __( ‘Add a title attribute for this button.’, ‘avia_framework’ ),
    ‘id’ => ‘title_attr’,
    ‘type’ => ‘input’,
    ‘std’ => ”,
    ‘required’ => array( ‘label_display’, ‘equals’, ” )
    ),

    );
    break;
    case ‘Font Sizes’:
    $c = array(
    array(
    ‘name’ => __( ‘Button Text Font Sizes’, ‘avia_framework’ ),
    ‘desc’ => __( ‘Select a custom font size for the button text.’, ‘avia_framework’ ),
    ‘type’ => ‘template’,
    ‘template_id’ => ‘font_sizes_icon_switcher’,
    ‘textfield’ => true,
    ‘lockable’ => true,
    ‘subtype’ => array(
    ‘default’ => AviaHtmlHelper::number_array( 10, 90, 1, array( __( ‘Use Default’, ‘avia_framework’ ) => ” ), ‘px’ ),
    ‘desktop’ => AviaHtmlHelper::number_array( 10, 90, 1, array( __( ‘Use Default’, ‘avia_framework’ ) => ” ), ‘px’ ),
    ‘medium’ => AviaHtmlHelper::number_array( 10, 90, 1, array( __( ‘Use Default’, ‘avia_framework’ ) => ”, __( ‘Hidden’, ‘avia_framework’ ) => ‘hidden’ ), ‘px’ ),
    ‘small’ => AviaHtmlHelper::number_array( 10, 90, 1, array( __( ‘Use Default’, ‘avia_framework’ ) => ”, __( ‘Hidden’, ‘avia_framework’ ) => ‘hidden’ ), ‘px’ ),
    ‘mini’ => AviaHtmlHelper::number_array( 10, 90, 1, array( __( ‘Use Default’, ‘avia_framework’ ) => ”, __( ‘Hidden’, ‘avia_framework’ ) => ‘hidden’ ), ‘px’ )
    ),
    ‘id_sizes’ => array(
    ‘default’ => ‘size-text’,
    ‘desktop’ => ‘av-desktop-font-size-text’,
    ‘medium’ => ‘av-medium-font-size-text’,
    ‘small’ => ‘av-small-font-size-text’,
    ‘mini’ => ‘av-mini-font-size-text’
    )
    ),
    array(
    ‘name’ => __( ‘Button Icon Font Sizes’, ‘avia_framework’ ),
    ‘desc’ => __( ‘Select a custom font size for the button text.’, ‘avia_framework’ ),
    ‘type’ => ‘template’,
    ‘template_id’ => ‘font_sizes_icon_switcher’,
    ‘textfield’ => true,
    ‘lockable’ => true,
    ‘subtype’ => array(
    ‘default’ => AviaHtmlHelper::number_array( 10, 90, 1, array( __( ‘Use Default’, ‘avia_framework’ ) => ” ), ‘px’ ),
    ‘desktop’ => AviaHtmlHelper::number_array( 10, 90, 1, array( __( ‘Use Default’, ‘avia_framework’ ) => ” ), ‘px’ ),
    ‘medium’ => AviaHtmlHelper::number_array( 10, 90, 1, array( __( ‘Use Default’, ‘avia_framework’ ) => ”, __( ‘Hidden’, ‘avia_framework’ ) => ‘hidden’ ), ‘px’ ),
    ‘small’ => AviaHtmlHelper::number_array( 10, 90, 1, array( __( ‘Use Default’, ‘avia_framework’ ) => ”, __( ‘Hidden’, ‘avia_framework’ ) => ‘hidden’ ), ‘px’ ),
    ‘mini’ => AviaHtmlHelper::number_array( 10, 90, 1, array( __( ‘Use Default’, ‘avia_framework’ ) => ”, __( ‘Hidden’, ‘avia_framework’ ) => ‘hidden’ ), ‘px’ )
    ),
    ‘id_sizes’ => array(
    ‘default’ => ‘size-button-icon’,
    ‘desktop’ => ‘av-desktop-font-size-button-icon’,
    ‘medium’ => ‘av-medium-font-size-button-icon’,
    ‘small’ => ‘av-small-font-size-button-icon’,
    ‘mini’ => ‘av-mini-font-size-button-icon’
    )
    )
    );
    break;
    case ‘Button Margin And Padding’:
    $template = array(
    array(
    ‘type’ => ‘template’,
    ‘template_id’ => ‘margin_padding’,
    ‘toggle’ => true,
    ‘name’ => __( ‘Margin And Padding’, ‘avia_framework’ ),
    ‘desc’ => __( ‘Set a responsive margin and a padding to text for the button.’, ‘avia_framework’ ),
    ‘lockable’ => true,
    )
    );
    break;
    case ‘Colors’:
    $c = array(
    array(
    ‘name’ => __( ‘Button Colors Selection’, ‘avia_framework’ ),
    ‘desc’ => __( “Choose the available options for button colors. Switching to advanced options for already existing buttons you need to set all options (color settings from basic options are ignored)”, ‘avia_framework’ ),
    ‘id’ => ‘color_options’,
    ‘type’ => ‘select’,
    ‘std’ => ”,
    ‘lockable’ => true,
    ‘subtype’ => array(
    __( ‘Basic options only’, ‘avia_framework’ ) => ”,
    __( ‘Advanced options’, ‘avia_framework’ ) => ‘color_options_advanced’,
    )
    ),
    array(
    ‘type’ => ‘template’,
    ‘template_id’ => ‘named_colors’,
    ‘custom’ => true,
    ‘lockable’ => true,
    ‘required’ => array( ‘color_options’, ‘equals’, ” )
    ),
    array(
    ‘name’ => __( ‘Custom Background Color’, ‘avia_framework’ ),
    ‘desc’ => __( ‘Select a custom background color for your button here’, ‘avia_framework’ ),
    ‘id’ => ‘custom_bg’,
    ‘type’ => ‘colorpicker’,
    ‘std’ => ‘#444444’,
    ‘lockable’ => true,
    ‘required’ => array( ‘color’, ‘equals’, ‘custom’ )
    ),
    array(
    ‘name’ => __( ‘Custom Font Color’, ‘avia_framework’ ),
    ‘desc’ => __( ‘Select a custom font color for your button here’, ‘avia_framework’ ),
    ‘id’ => ‘custom_font’,
    ‘type’ => ‘colorpicker’,
    ‘std’ => ‘#ffffff’,
    ‘lockable’ => true,
    ‘required’ => array( ‘color’, ‘equals’, ‘custom’)
    ),
    array(
    ‘type’ => ‘template’,
    ‘template_id’ => ‘button_colors’,
    ‘color_id’ => ‘btn_color’,
    ‘custom_id’ => ‘btn_custom’,
    ‘lockable’ => true,
    ‘required’ => array( ‘color_options’, ‘not’, ” )
    )
    );
    break;
    case ‘Animation’:
    $c = array(
    array(
    ‘type’ => ‘template’,
    ‘template_id’ => ‘animation’,
    ‘lockable’ => true,
    ‘std_none’ => ”,
    ‘name’ => __( ‘Button Animation’, ‘avia_framework’ ),
    ‘desc’ => __( ‘Add a small animation to the button when the user first scrolls to the button position. This is only to add some "spice" to the site and only works in modern browsers and only on desktop computers to keep page rendering as fast as possible.’, ‘avia_framework’ ),
    ‘groups’ => array( ‘fade’, ‘slide’, ‘rotate’, ‘fade-adv’, ‘special’ )
    )
    );
    break;
    case ‘Content’:
    $c = array(
    array(
    ‘name’ => __( ‘Content Display’, ‘avia_framework’ ),
    ‘desc’ => __( ‘Choose to display the content in a popup or below the slides.’, ‘avia_framework’ ),
    ‘id’ => ‘content_layout’,
    ‘type’ => ‘select’,
    ‘std’ => ”,
    ‘lockable’ => true,
    ‘subtype’ => array(
    __( ‘No Display’, ‘avia_framework’ ) => ”,
    __( ‘Display content in popup’, ‘avia_framework’ ) => ‘popup’,
    __( ‘Display content below slides’, ‘avia_framework’ ) => ‘inline’
    ),
    ),
    array(
    ‘name’ => __( ‘Max Width’, ‘avia_framework’ ),
    ‘desc’ => __( ‘This is the width of your content box.’, ‘avia_framework’ ),
    ‘id’ => ‘popup_max_width’,
    ‘type’ => ‘input’,
    ‘std’ => ‘750px’,
    ‘lockable’ => true,
    ‘required’ => array( ‘content_layout’, ‘not’, ” ),
    ‘container_class’ => ‘av_third av_third_first’
    ),
    array(
    ‘name’ => __( ‘Min Height’, ‘avia_framework’ ),
    ‘desc’ => __( ‘This is the min-height of your content box.’, ‘avia_framework’ ),
    ‘id’ => ‘popup_min_height’,
    ‘type’ => ‘input’,
    ‘std’ => ‘320px’,
    ‘lockable’ => true,
    ‘required’ => array( ‘content_layout’, ‘not’, ” ),
    ‘container_class’ => ‘av_third’
    ),
    array(
    ‘name’ => __( ‘Text Align’, ‘avia_framework’ ),
    ‘desc’ => __( ‘Figure it out.’, ‘avia_framework’ ),
    ‘id’ => ‘popup_text_align’,
    ‘type’ => ‘select’,
    ‘std’ => ‘center’,
    ‘lockable’ => true,
    ‘required’ => array( ‘content_layout’, ‘not’, ” ),
    ‘container_class’ => ‘av_third’,
    ‘subtype’ => array(
    __( ‘Left’, ‘avia_framework’ ) => ‘left’,
    __( ‘Center’, ‘avia_framework’ ) => ‘center’,
    __( ‘Right’, ‘avia_framework’ ) => ‘right’
    ),
    ),
    array(
    ‘name’ => __( ‘Container BG Color’, ‘avia_framework’ ),
    ‘desc’ => __( ‘This is the background of the content box’, ‘avia_framework’ ),
    ‘id’ => ‘popup_background_color’,
    ‘type’ => ‘colorpicker’,
    ‘std’ => ”,
    ‘rgba’ => true,
    ‘lockable’ => true,
    ‘required’ => array( ‘content_layout’, ‘equals’, ‘popup’ ),
    ‘container_class’ => ‘av_half av_half_first’
    ),
    array(
    ‘name’ => __( ‘Background BG Color’, ‘avia_framework’ ),
    ‘desc’ => __( ‘This is the full page background when the popup is visible.’, ‘avia_framework’ ),
    ‘id’ => ‘popup_bg_color’,
    ‘type’ => ‘colorpicker’,
    ‘std’ => ”,
    ‘rgba’ => true,
    ‘lockable’ => true,
    ‘required’ => array( ‘content_layout’, ‘equals’, ‘popup’ ),
    ‘container_class’ => ‘av_half’
    ),
    array(
    ‘name’ => __( ‘Border Radius’, ‘avia_framework’ ),
    ‘desc’ => __( ‘Set the border radius of the content box.’, ‘avia_framework’ ),
    ‘id’ => ‘popup_border_radius’,
    ‘type’ => ‘multi_input’,
    ‘sync’ => true,
    ‘std’ => ’24px’,
    ‘lockable’ => true,
    ‘required’ => array( ‘content_layout’, ‘not’, ” ),
    ‘multi’ => array(
    ‘top’ => __( ‘Top-Left-Radius’, ‘avia_framework’ ),
    ‘right’ => __( ‘Top-Right-Radius’, ‘avia_framework’ ),
    ‘bottom’ => __( ‘Bottom-Right-Radius’, ‘avia_framework’ ),
    ‘left’ => __( ‘Bottom-Left-Radius’, ‘avia_framework’ )
    ),
    ),
    array(
    ‘type’ => ‘template’,
    ‘template_id’ => ‘box_shadow’,
    ‘id’ => ‘popup_box_shadow’,
    ‘names’ => array(
    __( ‘Box Shadow’, ‘avia_framework’ ),
    __( ‘Box Shadow Styling ‘, ‘avia_framework’ ),
    __( ‘Box Shadow Color’, ‘avia_framework’ )
    ),
    ‘default_check’ => true,
    ‘lockable’ => true,
    ‘required’ => array( ‘content_layout’, ‘not’, ” )
    )
    );
    break;
    case ‘Navigation’:
    $c = array(
    array(
    ‘name’ => __( ‘Navigation Layout’, ‘avia_framework’ ),
    ‘desc’ => __( ‘Either use the widget default colors or apply some custom ones’, ‘avia_framework’ ),
    ‘id’ => ‘nav_layout’,
    ‘type’ => ‘select’,
    ‘std’ => ”,
    ‘lockable’ => true,
    ‘subtype’ => array(
    __( ‘Default’, ‘avia_framework’ ) => ”,
    __( ‘Define Custom layout’, ‘avia_framework’ ) => ‘custom’
    ),

    ),
    array(
    ‘name’ => __( ‘Vertical Position’, ‘avia_framework’ ),
    ‘desc’ => __( ‘Define the vertical position of the navigation controls’, ‘avia_framework’ ),
    ‘id’ => ‘navigation_position’,
    ‘type’ => ‘select’,
    ‘std’ => ”,
    ‘lockable’ => true,
    ‘required’ => array( ‘nav_layout’, ‘equals’, ‘custom’ ),
    ‘subtype’ => array(
    __( ‘Default’, ‘avia_framework’ ) => ”,
    __( ‘Above’, ‘avia_framework’ ) => ‘above’,
    __( ‘Below’, ‘avia_framework’ ) => ‘below’,
    )
    ),
    array(
    ‘name’ => __( ‘Controls Max Width’, ‘avia_framework’ ),
    ‘desc’ => __( ‘Enter the max width of the navigation controls’, ‘avia_framework’ ),
    ‘id’ => ‘nav_max_width’,
    ‘type’ => ‘input’,
    ‘std’ => ‘100%’,
    ‘lockable’ => true,
    ‘required’ => array( ‘navigation_position’, ‘not’, ”),

    ),
    array(
    ‘name’ => __( ‘Horizontal Alignment’, ‘avia_framework’ ),
    ‘desc’ => __( ‘This only works if navigation controls are not 100% max width’, ‘avia_framework’ ),
    ‘id’ => ‘navigation_alignment’,
    ‘type’ => ‘select’,
    ‘std’ => ‘center’,
    ‘lockable’ => true,
    ‘required’ => array( ‘navigation_position’, ‘not’, ”),
    ‘subtype’ => array(
    __( ‘Left’, ‘avia_framework’ ) => ‘left’,
    __( ‘Center’, ‘avia_framework’ ) => ‘center’,
    __( ‘Right’, ‘avia_framework’ ) => ‘right’,
    )
    ),
    array(
    ‘name’ => __( ‘Horizontal Offset’, ‘avia_framework’ ),
    ‘desc’ => __( ‘Enter a CSS value (50px) to push the controls towards center’, ‘avia_framework’ ),
    ‘id’ => ‘nav_offset’,
    ‘type’ => ‘input’,
    ‘std’ => ‘0’,
    ‘lockable’ => true,
    ‘required’ => array( ‘navigation_alignment’, ‘not’, ‘center’),
    ),
    array(
    ‘name’ => __( ‘Button Width’, ‘avia_framework’ ),
    ‘desc’ => __( ‘Button width in a CSS value’, ‘avia_framework’ ),
    ‘id’ => ‘nav_width’,
    ‘type’ => ‘input’,
    ‘std’ => ’50px’,
    ‘lockable’ => true,
    ‘required’ => array( ‘nav_layout’, ‘equals’, ‘custom’ ),
    ‘container_class’ => ‘av_half av_half_first’
    ),
    array(
    ‘name’ => __( ‘Button Height’, ‘avia_framework’ ),
    ‘desc’ => __( ‘Button height in a CSS value’, ‘avia_framework’ ),
    ‘id’ => ‘nav_height’,
    ‘type’ => ‘input’,
    ‘std’ => ’50px’,
    ‘lockable’ => true,
    ‘required’ => array( ‘nav_layout’, ‘equals’, ‘custom’ ),
    ‘container_class’ => ‘av_half’
    ),
    array(
    ‘name’ => __( ‘Button Border Radius’, ‘avia_framework’ ),
    ‘desc’ => __( ‘Set the border radius of the button’, ‘avia_framework’ ),
    ‘id’ => ‘nav_radius’,
    ‘type’ => ‘multi_input’,
    ‘sync’ => true,
    ‘std’ => ‘50%’,
    ‘lockable’ => true,
    ‘required’ => array( ‘nav_layout’, ‘equals’, ‘custom’ ),
    ‘multi’ => array(
    ‘top’ => __( ‘Top-Left-Radius’, ‘avia_framework’ ),
    ‘right’ => __( ‘Top-Right-Radius’, ‘avia_framework’ ),
    ‘bottom’ => __( ‘Bottom-Right-Radius’, ‘avia_framework’ ),
    ‘left’ => __( ‘Bottom-Left-Radius’, ‘avia_framework’ )
    ),
    ),
    );
    break;
    case ‘Image’:
    $c = array(
    array(
    ‘name’ => __( ‘Image Size and Orientation’, ‘avia_framework’ ),
    ‘desc’ => __( ‘Either use the widget default colors or apply some custom ones’, ‘avia_framework’ ),
    ‘id’ => ‘orientation_and_size’,
    ‘type’ => ‘select’,
    ‘std’ => ”,
    ‘lockable’ => true,
    ‘subtype’ => AbstraktEnfoldExtensions::get_image_sizes(),
    ),
    array(
    ‘name’ => __( ‘Image Aspect Ratio’, ‘avia_framework’ ),
    ‘desc’ => __( ‘Enter the CSS value as a fraction, ie 16/9’, ‘avia_framework’ ),
    ‘id’ => ‘aspect_ratio’,
    ‘type’ => ‘input’,
    ‘std’ => ”,
    ‘lockable’ => true,
    ‘required’ => array( ‘orientation_and_size’, ‘not’, ” ),
    ‘container_class’ => ‘av_third av_third_first’
    ),
    array(
    ‘name’ => __( ‘Image Object Fit’, ‘avia_framework’ ),
    ‘desc’ => __( ‘Select one of the CSS values or choose none.’, ‘avia_framework’ ),
    ‘id’ => ‘object_fit’,
    ‘type’ => ‘select’,
    ‘std’ => ‘cover’,
    ‘lockable’ => true,
    ‘required’ => array( ‘orientation_and_size’, ‘not’, ” ),
    ‘container_class’ => ‘av_third’,
    ‘subtype’ => array(
    __( ‘None’, ‘avia_framework’ ) => ‘none’,
    __( ‘Fill’, ‘avia_framework’ ) => ‘fill’,
    __( ‘Contain’, ‘avia_framework’ ) => ‘contain’,
    __( ‘Cover’, ‘avia_framework’ ) => ‘cover’,
    __( ‘Scale Down’, ‘avia_framework’ ) => ‘scale-down’
    ),
    ),
    array(
    ‘name’ => __( ‘Image Object Position’, ‘avia_framework’ ),
    ‘desc’ => __( ‘Enter a css value ie 50% 50% or left top’, ‘avia_framework’ ),
    ‘id’ => ‘object_position’,
    ‘type’ => ‘input’,
    ‘std’ => ‘center center’,
    ‘lockable’ => true,
    ‘required’ => array( ‘orientation_and_size’, ‘not’, ” ),
    ‘container_class’ => ‘av_third’,
    ),
    );
    break;
    case ‘Container’:
    $c = array(
    array(
    ‘name’ => __( ‘Slides Layout’, ‘avia_framework’ ),
    ‘desc’ => __( ‘Either use the widget default colors or apply some custom ones’, ‘avia_framework’ ),
    ‘id’ => ‘slides_layout’,
    ‘type’ => ‘select’,
    ‘std’ => ”,
    ‘lockable’ => true,
    ‘subtype’ => array(
    __( ‘Default’, ‘avia_framework’ ) => ”,
    __( ‘Define Custom layout’, ‘avia_framework’ ) => ‘custom’
    ),

    ),
    array(
    ‘name’ => __( ‘Badge Max Width’, ‘avia_framework’ ),
    ‘desc’ => __( ‘Enter the badges title here (Better keep it short)’, ‘avia_framework’ ),
    ‘id’ => ‘max_width’,
    ‘type’ => ‘input’,
    ‘std’ => ‘250px’,
    ‘lockable’ => true,
    ‘required’ => array( ‘slides_layout’, ‘equals’, ‘custom’ ),
    ‘container_class’ => ‘av_half av_half_first’
    ),
    array(
    ‘name’ => __( ‘Badge Min Height’, ‘avia_framework’ ),
    ‘desc’ => __( ‘Enter the badges title here (Better keep it short)’, ‘avia_framework’ ),
    ‘id’ => ‘min_height’,
    ‘type’ => ‘input’,
    ‘std’ => ‘400px’,
    ‘lockable’ => true,
    ‘required’ => array( ‘slides_layout’, ‘equals’, ‘custom’ ),
    ‘container_class’ => ‘av_half’
    ),
    array(
    ‘name’ => __( ‘Badge Border Radius’, ‘avia_framework’ ),
    ‘desc’ => __( ‘Set the border radius of the column’, ‘avia_framework’ ),
    ‘id’ => ‘border_radius’,
    ‘type’ => ‘multi_input’,
    ‘sync’ => true,
    ‘std’ => ”,
    ‘lockable’ => true,
    ‘required’ => array( ‘slides_layout’, ‘equals’, ‘custom’ ),
    ‘multi’ => array(
    ‘top’ => __( ‘Top-Left-Radius’, ‘avia_framework’ ),
    ‘right’ => __( ‘Top-Right-Radius’, ‘avia_framework’ ),
    ‘bottom’ => __( ‘Bottom-Right-Radius’, ‘avia_framework’ ),
    ‘left’ => __( ‘Bottom-Left-Radius’, ‘avia_framework’ )
    ),
    ),
    );
    break;
    }
    if (!is_array($template)) {
    $template = array(
    array(
    ‘type’ => ‘template’,
    ‘template_id’ => ‘toggle’,
    ‘title’ => __( $title, ‘avia_framework’ ),
    ‘content’ => $c
    ),
    );
    }

    return $template;
    }
    public static function amg_enfold_inline($atts) : string
    {
    $output = ”;
    if ($atts[‘content_layout’] == ‘inline’) {
    $output .= “<div id=’amg-enfold-inline’>”;
    $output .= “<div id=’amg-enfold-inline-box’>”;
    $output .= “<div id=’content’></div>”;
    $output .= “</div>”;
    $output .= “</div>”;
    }
    return $output;
    }

    public static function amg_button_append_selectors($selectors, $element_id) : array
    {
    $selectors[‘wrap’] = “#top #wrap_all .accordionContainer.{$element_id} .c-accordion .c-accordion__item .avia-button-wrap.button-wrap”;
    $selectors[‘wrap-animation’] = “#top #wrap_all .accordionContainer.{$element_id} .c-accordion .c-accordion__item .avia_transform .avia-button-wrap.button-wrap”;
    $selectors[‘button_container’] = “#top #wrap_all .accordionContainer.{$element_id} .c-accordion .c-accordion__item .avia-button”;
    $selectors[‘container-hover’] = “#top #wrap_all .accordionContainer.{$element_id} .c-accordion .c-accordion__item .avia-button:hover”;
    $selectors[‘container-hover-overlay’] = “#top #wrap_all .accordionContainer.{$element_id} .c-accordion .c-accordion__item .avia-button:hover .avia_button_background”;
    $selectors[‘container-after’] = “#top #wrap_all .accordionContainer.{$element_id} .c-accordion .c-accordion__item .avia-button.avia-sonar-shadow:after”;
    $selectors[‘container-after-hover’] = “#top #wrap_all .accordionContainer.{$element_id} .c-accordion .c-accordion__item .avia-button.avia-sonar-shadow:hover:after”;
    $selectors[‘curtain’] = “#top #wrap_all .accordionContainer.{$element_id} .c-accordion .c-accordion__item .avia-button-wrap.button-wrap .avia-curtain-reveal-overlay”;
    $selectors[‘button_icon’] = “#top #wrap_all .accordionContainer.{$element_id} .c-accordion .c-accordion__item .amg-button-wrap .amg-tab-icon”;

    return $selectors;
    }

    public static function amg_create_button(array $atts, array $meta, $container_class, $style_tag, $wrap_class, $background_hover ):string {
    $data = ”;

    /* if( $atts[‘button_icon_select’] == ‘yes’ )
    {
    $atts[‘button_icon_select’] = ‘yes-left-icon’;
    }

    $fonts = explode(‘,’, $atts[‘font’]);
    $font = $fonts[1] ?? $fonts[0];
    $display_char = av_icon( $atts[‘button_icon’], $font );*/

    if( ! empty( $atts[‘label_display’] ) && $atts[‘label_display’] == ‘av-button-label-on-hover’ )
    {
    $data .= ‘data-avia-tooltip=”‘ . htmlspecialchars( $atts[‘label’] ) . ‘”‘;
    $atts[‘label’] = ”;
    }

    $blank = AviaHelper::get_link_target( $atts[‘link_target’] );
    $link = AviaHelper::get_url( $atts[‘link’] );
    $link = ( ( $link == ‘http://&#8217; ) || ( $link == ‘manually’ ) ) ? ” : $link;

    $title_attr = ! empty( $atts[‘title_attr’] ) && empty( $atts[‘label_display’] ) ? ‘title=”‘ . esc_attr( $atts[‘title_attr’] ) . ‘”‘ : ”;

    $content_html = ”;

    /*if( ‘yes-left-icon’ == $atts[‘button_icon_select’] )
    {
    $content_html .= “<span class=’avia_button_icon avia_button_icon_left’></span>”;
    }*/

    $content_html .= “<span class=’avia_iconbox_title’ >{$atts[‘label’]}</span>”;

    /*if( ‘yes-right-icon’ == $atts[‘button_icon_select’] )
    {
    $content_html .= “<span class=’avia_button_icon avia_button_icon_right’ {$display_char}></span>”;
    }*/

    $curtain_reveal_overlay = ”;

    $html = ”;
    $html .= $style_tag;

    $html .= ““;
    $html .= $curtain_reveal_overlay;
    $html .= $content_html;
    $html .= $background_hover;
    $html .= ‘
    ‘;

    $output = “<div {$meta[‘custom_el_id’]} class=’avia-button-wrap {$wrap_class} avia-button-{$atts[‘position’]} {$meta[‘el_class’]}’>”;
    //$output .= $curtain_reveal_overlay;
    $output .= $html;
    $output .= ‘</div>’;

    return $output;
    }
    }
    }

    new AbstraktEnfoldExtensions();

    require ‘plugin-update-checker-master/plugin-update-checker.php’;
    use YahnisElsts\PluginUpdateChecker\v5\PucFactory;
    $myUpdateChecker = PucFactory::buildUpdateChecker(
    https://nates1dev.wpengine.com/wp-content/uploads/enfold-extensions/info.json&#8217;,
    __FILE__, //Full path to the main plugin file or functions.php.
    ‘abstrakt-enfold-extensions’
    );

    #1478663
    Olivier SIA09
    Participant

    Hello,
    Since update 7.0 SVG icons problem
    With previous versions of Enfold, I replaced the default icons of Enfold like the magnifying glass, the basket, the social icons, back to top and others according to the several different sites that I have under Enfold.
    Now that these icons are called in SVG automatically it does not work anymore.
    I used a solution found on your documentation or support.
    With the functions.php and the avf_default_icons filter.
    Example : $icons[‘search’] = array( ‘font’ =>’flaticon’, ‘icon’ => ‘uf163’);
    Would it be possible to disable SVG icons?
    Do you have another solution?
    Kind regards,

    #1478316

    Hey Tanja,
    Please ensure that you are using Enfold v7.0, then add this code to the end of your child theme functions.php file in Appearance ▸ Editor:

    add_filter('avf_default_icons','avia_replace_standard_icon', 10, 1);
    function avia_replace_standard_icon($icons)
    {
    $icons['svg__standard']	 = array( 'font' =>'svg_entypo-fontello', 'icon' => 'leaf');
    return $icons;
    }

    Please ensure to copy the code from the forum and not an email notification so the symbols are not converted.
    Screen Shot 2025 03 01 at 7.23.39 AM

    Best regards,
    Mike

    #1478313

    Hey sudhafen,
    Try adding this code to the end of your child theme functions.php file in Appearance ▸ Editor:

    function custom_script() { ?>
      <script>
      (function($){
       $('.page .main-title.entry-title ').detach().insertBefore('.template-page.content .post-entry');
      })(jQuery);
      </script>
      <?php
    }
    add_action( 'wp_footer', 'custom_script', 99 );

    Please ensure to copy the code from the forum and not an email notification so the symbols are not converted.
    Screen Shot 2025 03 01 at 6.55.25 AM

    Best regards,
    Mike

    #1478043

    In reply to: Enfold 7.0

    I have looked it several times and nothing stands out that would render my elements completely ignored.
    I’ve attached one of the elements so you can see it.

    <?php
    /**
     * AMG Tabs and tabs
     *
     * Creates tabs or accordions
     */
    if( ! defined( 'ABSPATH' ) ) {  exit;  }    // Exit if accessed directly
    
    if( ! class_exists( 'amg_sc_cards', false ) )
    {
        class amg_sc_cards extends aviaShortcodeTemplate
        {
            use \aviaBuilder\traits\scNamedColors;
            use \aviaBuilder\traits\scButtonStyles;
            /**
             *
             * @var int
             */
            static protected $toggle_id = 1;
    
            /**
             *
             * @var int
             */
            static protected $counter = 1;
    
            /**
             *
             * @var int
             */
            static protected $initial = 0;
    
            /**
             *
             * @var array
             */
            static protected $tags = array();
    
            /**
             * Google search only accepts 1 Tag “FAQPage”
             *
             * @since 5.0
             * @var int
             */
            static protected $total = 0;
    
            /**
             *
             * @since 4.8.8
             * @var boolean
             */
            protected $in_sc_exec;
    
            /**
             *
             * @since 4.9
             * @var string
             */
            protected $heading_tag;
    
            /**
             *
             * @since 4.9
             * @var string
             */
            protected $heading_class;
    
            /**
             *
             * @since 4.5.5
             * @param AviaBuilder $builder
             */
            public function __construct( $builder )
            {
                $this->in_sc_exec = false;
                $this->heading_tag = '';
                $this->heading_class = '';
    
                parent::__construct( $builder );
    
                $this->_construct_scNamedColors();
                $this->_construct_scButtonStyles();
            }
    
            /**
             * @since 4.5.5
             */
            public function __destruct()
            {
                $this->_destruct_scNamedColors();
                $this->_destruct_scButtonStyles();
                parent::__destruct();
            }
    
            /**
             * Create the config array for the shortcode button
             */
            protected function shortcode_insert_button()
            {
                $this->config['version']		= '1.0';
                $this->config['self_closing']	= 'no';
                $this->config['base_element']	= 'yes';
    
                $this->config['name']			= __( 'Cards', 'avia_framework' );
                $this->config['tab']			= __( 'AMG Elements', 'avia_framework' );
                $this->config['icon']			= AviaBuilder::$path['imagesURL'] . 'sc-contentslider.png';
                $this->config['order']			= 270;
                $this->config['target']			= 'avia-target-insert';
                $this->config['shortcode']		= 'amg_card_container';
                $this->config['shortcode_nested'] = array( 'amg_card' );
                $this->config['tooltip']		= __( 'Creates a new Cards Layout Group', 'avia_framework' );
                $this->config['tinyMCE']		= array( 'tiny_always' => true );
                $this->config['preview']		= true;
                $this->config['disabling_allowed'] = true;
                $this->config['id_name']		= 'id';
                $this->config['id_show']		= 'yes';
                $this->config['alb_desc_id']	= 'alb_description';
                $this->config['name_item']		= __( 'AMG Card Item', 'avia_framework' );
                $this->config['tooltip_item']	= __( 'An AMG Card Item', 'avia_framework' );
            }
    
            protected function admin_assets()
            {
                $ver = AbstraktEnfoldExtensions::get_plugin_version();
                $developMode = AbstraktEnfoldExtensions::developMode();
                $lastmodtime = $developMode ? rand(1, 999999999) : $ver;
                //load css
                wp_enqueue_style( 'amg-cards', plugin_dir_url(__FILE__) . "cards.min.css", array( 'avia-layout' ), $lastmodtime );
                wp_enqueue_script( 'amg-cards', plugin_dir_url(__FILE__) . "cards.min.js", array( 'avia-shortcodes' ), $lastmodtime, true );
    
            }
    
            protected function extra_assets()
            {
    
                $ver = AbstraktEnfoldExtensions::get_plugin_version();
                $developMode = AbstraktEnfoldExtensions::developMode();
                $lastmodtime = $developMode ? rand(1, 999999999) : $ver;
                //load css
                wp_enqueue_style( 'amg-cards', plugin_dir_url(__FILE__) . "cards.css", array( 'avia-layout' ), $lastmodtime );
                wp_enqueue_script( 'amg-cards', plugin_dir_url(__FILE__) . "cards.js", array( 'avia-shortcodes' ), $lastmodtime, true );
            }
    
            /**
             * Popup Elements
             *
             * If this function is defined in a child class the element automatically gets an edit button, that, when pressed
             * opens a modal window that allows to edit the element properties
             *
             * @return void
             */
            protected function popup_elements()
            {
                $this->elements = array(
    
                    array(
                        'type' 	=> 'tab_container',
                        'nodescription' => true
                    ),
    
                    array(
                        'type' 	=> 'tab',
                        'name'  => __( 'Content', 'avia_framework' ),
                        'nodescription' => true
                    ),
    
                    array(
                        'type'			=> 'template',
                        'template_id'	=> 'toggle_container',
                        'templates_include'	=> array(
                            $this->popup_key( 'content_amg_card' )
                        ),
                        'nodescription' => true
                    ),
    
                    array(
                        'type' 	=> 'tab_close',
                        'nodescription' => true
                    ),
    
                    array(
                        'type' 	=> 'tab',
                        'name'  => __( 'Automation', 'avia_framework' ),
                        'nodescription' => true
                    ),
    
                    array(
                        'type'			=> 'template',
                        'template_id'	=> 'toggle_container',
                        'templates_include'	=> array(
                            $this->popup_key( 'behavior_intro' ),
                            $this->popup_key( 'style_behavior' )
                        ),
                        'nodescription' => true
                    ),
    
                    array(
                        'type' 	=> 'tab_close',
                        'nodescription' => true
                    ),
    
                    array(
                        'type' 	=> 'tab',
                        'name'  => __( 'Styling', 'avia_framework' ),
                        'nodescription' => true
                    ),
    
                    array(
                        'type'			=> 'template',
                        'template_id'	=> 'toggle_container',
                        'templates_include'	=> array(
                            $this->popup_key( 'styling_card_dimensions' ),
                            $this->popup_key( 'styling_colors' ),
                            $this->popup_key( 'styling_font_sizes' )
                        ),
                        'nodescription' => true
                    ),
    
                    array(
                        'type' 	=> 'tab_close',
                        'nodescription' => true
                    ),
    
                    array(
                        'type' 	=> 'tab',
                        'name'  => __( 'Advanced', 'avia_framework' ),
                        'nodescription' => true
                    ),
    
                    array(
                        'type' 	=> 'toggle_container',
                        'nodescription' => true
                    ),
    
                    array(
                        'type'			=> 'template',
                        'template_id'	=> $this->popup_key( 'advanced_heading' ),
                        'nodescription' => true
                    ),
    
                    array(
                        'type'			=> 'template',
                        'template_id'	=> 'screen_options_toggle',
                        'lockable'		=> true
                    ),
    
                    array(
                        'type'			=> 'template',
                        'template_id'	=> 'developer_options_toggle',
                        'args'			=> array( 'sc' => $this )
                    ),
    
                    array(
                        'type' 	=> 'toggle_container_close',
                        'nodescription' => true
                    ),
    
                    array(
                        'type' 	=> 'tab_close',
                        'nodescription' => true
                    ),
    
                    array(
                        'type'			=> 'template',
                        'template_id'	=> 'element_template_selection_tab',
                        'args'			=> array( 'sc' => $this )
                    ),
    
                    array(
                        'type' 	=> 'tab_container_close',
                        'nodescription' => true
                    )
    
                );
    
            }
    
            /**
             * Create and register templates for easier maintainance
             *
             * @since 4.6.4
             */
            protected function register_dynamic_templates()
            {
    
                $this->register_modal_group_templates();
    
                /**
                 * Content Tab
                 * ===========
                 */
    
                $c = array(
                    array(
                        'name'			=> __( 'Add/Edit Card', 'avia_framework' ),
                        'desc'			=> __( 'Here you can add, remove and edit the tabs you want to display.', 'avia_framework' ),
                        'type'			=> 'modal_group',
                        'id'			=> 'content',
                        'modal_title'	=> __( 'Edit Card Element', 'avia_framework' ),
                        'editable_item'	=> true,
                        'lockable'		=> true,
                        'tmpl_set_default'	=> false,
                        'std'			=> array(
                            array( 'title' => __( 'Card 1', 'avia_framework' ), 'tags' => '' ),
                            array( 'title' => __( 'Card 2', 'avia_framework' ), 'tags' => '' ),
                        ),
                        'subelements'	=> $this->create_modal()
                    ),
    
                    array(
                        'name' 	=> __( 'Title Position', 'avia_framework' ),
                        'desc' 	=> __( 'Select one of the 4 choices', 'avia_framework' ),
                        'id' 	=> 'title_position',
                        'type' 	=> 'select',
                        'std' 	=> 'bottom',
                        'lockable'	=> true,
                        'subtype'	=> array(
                            __( 'Top', 'avia_framework' )	    => 'top',
                            __( 'Bottom', 'avia_framework' )	=> 'bottom',
                            __( 'Full', 'avia_framework' )	    => 'full',
                            __( 'None', 'avia_framework' )	    => 'none',
                        )
                    )
                );
    
                $template = array(
                    array(
                        'type'			=> 'template',
                        'template_id'	=> 'toggle',
                        'title'			=> __( 'Cards', 'avia_framework' ),
                        'content'		=> $c
                    ),
                );
    
                AviaPopupTemplates()->register_dynamic_template( $this->popup_key( 'content_amg_card' ), $template );
    
                $c = array(
    
                    array(
                        'name' 	=> __( 'Hover Animation', 'avia_framework' ),
                        'desc' 	=> __( 'Select the style of hover animation', 'avia_framework' ),
                        'id' 	=> 'animation',
                        'type' 	=> 'select',
                        'std' 	=> 'up',
                        'lockable'	=> true,
                        'subtype'	=> array(
                            __( 'Up', 'avia_framework' )	=> 'up',
                            __( 'Down', 'avia_framework' )	=> 'down',
                            __( 'Fade', 'avia_framework' )	=> 'fade',
                            __( 'Flip', 'avia_framework' )	=> 'flip',
                        )
                    ),
                    array(
                        'name' 	=> __( 'Column Order', 'avia_framework' ),
                        'desc' 	=> __( 'Select the column order', 'avia_framework' ),
                        'id' 	=> 'column',
                        'type' 	=> 'select',
                        'std' 	=> 'row',
                        'lockable'	=> true,
                        'subtype'	=> array(
                            __( 'Forward', 'avia_framework' )	=> 'row',
                            __( 'Reverse', 'avia_framework' )	=> 'row-reverse',
                        )
                    )
                );
    
                $template = array(
                    array(
                        'type'			=> 'template',
                        'template_id'	=> 'toggle',
                        'title'			=> __( 'Hover', 'avia_framework' ),
                        'content'		=> $c
                    ),
                );
    
                AviaPopupTemplates()->register_dynamic_template( $this->popup_key( 'style_behavior' ), $template );
    
                $c = array(
                    array(
                        'name' 	=> __( 'Intro', 'avia_framework' ),
                        'desc' 	=> __( 'Choose to use active style class', 'avia_framework' ),
                        'id' 	=> 'intro',
                        'type' 	=> 'select',
                        'std' 	=> '',
                        'lockable'	=> true,
                        'subtype'	=> AbstraktEnfoldExtensions::get_intro_animations()
                    ),
                    array(
                        'name' 	=> __( 'Duration', 'avia_framework' ),
                        'desc' 	=> __( 'Select duration of time this animation will run', 'avia_framework' ),
                        'id' 	=> 'duration',
                        'type' 	=> 'select',
                        'std' 	=> 's100',
                        'lockable'	=> true,
                        'required' => array( 'intro', 'not', '' ),
                        'subtype'	=> AbstraktEnfoldExtensions::get_duration_times()
                    ),
    
                );
                $template = array(
                    array(
                        'type'			=> 'template',
                        'template_id'	=> 'toggle',
                        'title'			=> __( 'Intro', 'avia_framework' ),
                        'content'		=> $c
                    ),
                );
    
                AviaPopupTemplates()->register_dynamic_template( $this->popup_key( 'behavior_intro' ), $template );
    
                /**
                 * Styling Tab
                 * ===========
                 */
                $c =  array(
                    array(
                        'name' 	=> __( 'Container Layout', 'avia_framework' ),
                        'desc' 	=> __( 'Either use the widget default colors or apply some custom ones', 'avia_framework' ),
                        'id' 	=> 'card_layout',
                        'type' 	=> 'select',
                        'std' 	=> '',
                        'lockable'	=> true,
                        'subtype'	=> array(
                            __( 'Default', 'avia_framework' )				=> '',
                            __( 'Define Custom layout', 'avia_framework' )	=> 'custom'
                        ),
                    ),
                    array(
                        'name' 	=> __( 'Container Max Width', 'avia_framework' ),
                        'desc' 	=> __( 'Enter your minimum height for each glow in pixels', 'avia_framework' ),
                        'id' 	=> 'max_width',
                        'type' 	=> 'input',
                        'std' 	=> '1400px',
                        'lockable'	=> true,
                        'required'	=> array( 'card_layout', 'equals', 'custom' )
                    ),
                    array(
                        'name' 	=> __( 'Container Min Height', 'avia_framework' ),
                        'desc' 	=> __( 'Enter your minimum height for each card in pixels', 'avia_framework' ),
                        'id' 	=> 'min_height',
                        'type' 	=> 'input',
                        'std' 	=> '580px',
                        'lockable'	=> true,
                        'required'	=> array( 'card_layout', 'equals', 'custom' )
                    ),
                    array(
                        'name' 	=> __( 'Column Count', 'avia_framework' ),
                        'desc' 	=> __( 'This number will be the maximum number of cards per row.', 'avia_framework' ),
                        'id' 	=> 'flex',
                        'type' 	=> 'select',
                        'std' 	=> '0 1 33.33%',
                        'lockable'	=> true,
                        'subtype'	=> array(
                            __( '1', 'avia_framework' )     => '0 1 100%',
                            __( '2', 'avia_framework' )	    => '0 1 50%',
                            __( '3', 'avia_framework' )	    => '0 1 33.33%',
                            __( '4', 'avia_framework' )	    => '0 1 25%',
                            __( '5', 'avia_framework' )	    => '0 1 20%'
                        ),
                        'required'	=> array( 'card_layout', 'equals', 'custom' )
                    ),
                    array(
                        'name' 	=> __( 'Box Shadow', 'avia_framework' ),
                        'desc' 	=> __( 'Either use the card default box shadow or apply a custom one', 'avia_framework' ),
                        'id' 	=> 'box',
                        'type' 	=> 'select',
                        'std' 	=> '',
                        'lockable'	=> true,
                        'subtype'	=> array(
                            __( 'Default', 'avia_framework' )		    => '',
                            __( 'Define Box Shadow', 'avia_framework' )	=> 'custom'
                        )
                    ),
                    array(
                        'name' 	=> __( 'Box Shadow', 'avia_framework' ),
                        'desc' 	=> __( 'Enter your custom box-shadow using standard CSS Syntax', 'avia_framework' ),
                        'id' 	=> 'box-shadow',
                        'type' 	=> 'input',
                        'std' 	=> '0 0 3px #ccc',
                        'rgba' 	=> true,
                        'lockable'	=> true,
                        'required'	=> array( 'box', 'equals', 'custom' ),
                    ),
                    array(
                        'name'		=> __( 'Border Radius', 'avia_framework' ),
                        'desc'		=> __( 'Set the border radius of the column', 'avia_framework' ),
                        'id'		=> 'border_radius',
                        'type'		=> 'multi_input',
                        'sync'		=> true,
                        'std'		=> '',
                        'lockable'	=> true,
                        'multi'		=> array(
                            'top'		=> __( 'Top-Left-Radius', 'avia_framework' ),
                            'right'		=> __( 'Top-Right-Radius', 'avia_framework' ),
                            'bottom'	=> __( 'Bottom-Right-Radius', 'avia_framework' ),
                            'left'		=> __( 'Bottom-Left-Radius', 'avia_framework' )
                        )
                    ),
                    array(
                        'name'	    => __( 'Folded Corner', 'avia_framework' ),
                        'desc'	    => __( 'Set the border radius of the column', 'avia_framework' ),
                        'id'	    => 'corner',
                        'type' 	    => 'select',
                        'std' 	    => '',
                        'lockable'	=> true,
                        'subtype'	=> array(
                            __( 'Yes', 'avia_framework' )   => 'yes',
                            __( 'No', 'avia_framework' )	=> 'no'
                        )
                    ),
    
                );
                $template = array(
                    array(
                        'type'			=> 'template',
                        'template_id'	=> 'toggle',
                        'title'			=> __( 'Container', 'avia_framework' ),
                        'content'		=> $c
                    ),
                );
    
                AviaPopupTemplates()->register_dynamic_template( $this->popup_key( 'styling_card_dimensions' ), $template );
    
                $c = array(
                    array(
                        'name' 	=> __( 'Colors', 'avia_framework' ),
                        'desc' 	=> __( 'Either use the themes default colors or apply some custom ones', 'avia_framework' ),
                        'id' 	=> 'colors',
                        'type' 	=> 'select',
                        'std' 	=> '',
                        'lockable'	=> true,
                        'subtype'	=> array(
                            __( 'Default', 'avia_framework' )				=> '',
                            __( 'Define Custom Colors', 'avia_framework' )	=> 'custom'
                        )
                    ),
    
                    array(
                        'name' 	=> __( 'Title Font Color', 'avia_framework' ),
                        'desc' 	=> __( 'Select a custom color for the toggle icon. Leave empty to use default', 'avia_framework' ),
                        'id' 	=> 'title_font_color',
                        'type' 	=> 'colorpicker',
                        'std' 	=> '',
                        'rgba' 	=> true,
                        'lockable'	=> true,
                        'required'	=> array( 'colors', 'equals', 'custom' ),
                        'container_class'	=> 'av_third av_third_first',
                    ),
                    array(
                        'name' 	=> __( 'Title Background Color', 'avia_framework' ),
                        'desc' 	=> __( 'Select a custom color for the toggle icon. Leave empty to use default', 'avia_framework' ),
                        'id' 	=> 'title_bg_color',
                        'type' 	=> 'colorpicker',
                        'std' 	=> '',
                        'rgba' 	=> true,
                        'lockable'	=> true,
                        'required'	=> array( 'colors', 'equals', 'custom' ),
                        'container_class'	=> 'av_third av_third_last',
                    ),
    
                    array(
                        'name' 	=> __( 'Content Font Color', 'avia_framework' ),
                        'desc' 	=> __( 'Select a custom font color. Leave empty to use the default', 'avia_framework' ),
                        'id' 	=> 'font_color',
                        'type' 	=> 'colorpicker',
                        'std' 	=> '',
                        'rgba' 	=> true,
                        'lockable'	=> true,
                        'required'	=> array( 'colors', 'equals', 'custom' ),
                        'container_class'	=> 'av_third av_third_first'
                    ),
    
                    array(
                        'name' 	=> __( 'Background Color', 'avia_framework' ),
                        'desc' 	=> __( 'Select a custom background color. Leave empty to use the default', 'avia_framework' ),
                        'id' 	=> 'background_color',
                        'type' 	=> 'colorpicker',
                        'std' 	=> '',
                        'rgba' 	=> true,
                        'lockable'	=> true,
                        'required'	=> array( 'colors', 'equals', 'custom' ),
                        'container_class'	=> 'av_third',
                    )
                );
    
                $template = array(
                    array(
                        'type'			=> 'template',
                        'template_id'	=> 'toggle',
                        'title'			=> __( 'Colors', 'avia_framework' ),
                        'content'		=> $c
                    ),
                );
    
                AviaPopupTemplates()->register_dynamic_template( $this->popup_key( 'styling_colors' ), $template );
    
                $c = array(
                    array(
                        'name'			=> __( 'Title Font Sizes', 'avia_framework' ),
                        'desc'			=> __( 'Select a custom font size for the toggle title. Using non default values might need CSS styling.', 'avia_framework' ),
                        'type'			=> 'template',
                        'template_id'	=> 'font_sizes_icon_switcher',
                        'lockable'		=> true,
                        'textfield'		=> true,
                        'subtype'		=> array(
                            'default'	=> AviaHtmlHelper::number_array( 10, 50, 1, array( __( 'Use Default', 'avia_framework' ) => '' ), 'px' ),
                            'desktop'	=> AviaHtmlHelper::number_array( 10, 50, 1, array( __( 'Use Default', 'avia_framework' ) => '' ), 'px' ),
                            'medium'	=> AviaHtmlHelper::number_array( 10, 40, 1, array( __( 'Use Default', 'avia_framework' ) => '', __( 'Hidden', 'avia_framework' ) => 'hidden' ), 'px' ),
                            'small'		=> AviaHtmlHelper::number_array( 10, 40, 1, array( __( 'Use Default', 'avia_framework' ) => '', __( 'Hidden', 'avia_framework' ) => 'hidden' ), 'px' ),
                            'mini'		=> AviaHtmlHelper::number_array( 10, 40, 1, array( __( 'Use Default', 'avia_framework' ) => '', __( 'Hidden', 'avia_framework' ) => 'hidden' ), 'px' )
                        ),
                        'id_sizes'		=> array(
                            'default'	=> 'size-title',
                            'desktop'	=> 'av-desktop-font-size-toggle',
                            'medium'	=> 'av-medium-font-size-toggle',
                            'small'		=> 'av-small-font-size-toggle',
                            'mini'		=> 'av-mini-font-size-toggle'
                        )
                    ),
    
                    array(
                        'name'			=> __( 'Content Font Sizes', 'avia_framework' ),
                        'desc'			=> __( 'Select a custom font size for the content.', 'avia_framework' ),
                        'type'			=> 'template',
                        'template_id'	=> 'font_sizes_icon_switcher',
                        'lockable'		=> true,
                        'textfield'		=> true,
                        'subtype'		=> array(
                            'default'	=> AviaHtmlHelper::number_array( 10, 50, 1, array( __( 'Use Default', 'avia_framework' ) => '' ), 'px' ),
                            'desktop'	=> AviaHtmlHelper::number_array( 10, 50, 1, array( __( 'Use Default', 'avia_framework' ) => '' ), 'px' ),
                            'medium'	=> AviaHtmlHelper::number_array( 10, 40, 1, array( __( 'Use Default', 'avia_framework' ) => '', __( 'Hidden', 'avia_framework' ) => 'hidden' ), 'px' ),
                            'small'		=> AviaHtmlHelper::number_array( 10, 40, 1, array( __( 'Use Default', 'avia_framework' ) => '', __( 'Hidden', 'avia_framework' ) => 'hidden' ), 'px' ),
                            'mini'		=> AviaHtmlHelper::number_array( 10, 40, 1, array( __( 'Use Default', 'avia_framework' ) => '', __( 'Hidden', 'avia_framework' ) => 'hidden' ), 'px' )
                        ),
                        'id_sizes'		=> array(
                            'default'	=> 'size-content',
                            'desktop'	=> 'av-desktop-font-size-content',
                            'medium'	=> 'av-medium-font-size-content',
                            'small'		=> 'av-small-font-size-content',
                            'mini'		=> 'av-mini-font-size-content'
                        )
                    )
    
                );
    
                $template = array(
                    array(
                        'type'			=> 'template',
                        'template_id'	=> 'toggle',
                        'title'			=> __( 'Font Sizes', 'avia_framework' ),
                        'content'		=> $c
                    ),
                );
    
                AviaPopupTemplates()->register_dynamic_template( $this->popup_key( 'styling_font_sizes' ), $template );
    
                /**
                 * Advanced Tab
                 * ============
                 */
    
                $c = array(
                    array(
                        'type'				=> 'template',
                        'template_id'		=> 'heading_tag',
                        'theme_default'		=> 'p',
                        'name'				=> __( 'Tab Title Tag (Theme Default is <%s>)', 'avia_framework' ),
                        'desc'				=> __( 'Select a html tag for the toggle titles of this element.', 'avia_framework' ),
                        'context'			=> __CLASS__,
                        'lockable'			=> true
                    ),
    
                );
    
                $template = array(
                    array(
                        'type'			=> 'template',
                        'template_id'	=> 'toggle',
                        'title'			=> __( 'Tab Titles', 'avia_framework' ),
                        'content'		=> $c
                    ),
                );
    
                AviaPopupTemplates()->register_dynamic_template( $this->popup_key( 'advanced_heading' ), $template );
    
            }
    
            /**
             * Creates the modal popup for a single entry
             *
             * @since 4.6.4
             * @return array
             */
            protected function create_modal()
            {
                $elements = array(
    
                    array(
                        'type' 	=> 'tab_container',
                        'nodescription' => true
                    ),
    
                    array(
                        'type' 	=> 'tab',
                        'name'  => __( 'Content', 'avia_framework' ),
                        'nodescription' => true
                    ),
    
                    array(
                        'type'			=> 'template',
                        'template_id'	=> 'toggle_container',
                        'templates_include'	=> array(
                            $this->popup_key( 'modal_card_title' ),
                            $this->popup_key( 'modal_card_image' ),
                            $this->popup_key( 'modal_card_content' )
                        ),
                    ),
    
                    array(
                        'type' 	=> 'tab_close',
                        'nodescription' => true
                    ),
                    /////////////////////////////   BUTTON START //////////////////////////////
    
                    array(
                        'type' => 'tab',
                        'name' => __( 'Button', 'avia_framework' ),
                        'nodescription' => true
                    ),
                    array(
                        'type' => 'template',
                        'template_id' => 'toggle_container',
                        'templates_include' => array(
                            $this->popup_key( 'modal_button' ),
                            $this->popup_key( 'modal_button_link' ),
                            $this->popup_key( 'styling_button_appearance' ),
                            $this->popup_key( 'styling_button_fonts' ),
                            $this->popup_key( 'styling_button_margin_padding' ),
                            $this->popup_key( 'styling_button_colors' ),
                            'border_toggle',
                            'box_shadow_toggle',
                            $this->popup_key( 'advanced_button_animation' )
                        ),
                        'nodescription' => true
                    ),
                    array(
                        'type' => 'tab_close',
                        'nodescription' => true
                    ),
                    /////////////////////////////   BUTTON END ////////////////////////////////
    
                    array(
                        'type' 	=> 'tab',
                        'name'  => __( 'Advanced', 'avia_framework' ),
                        'nodescription' => true
                    ),
    
                    array(
                        'type'			=> 'template',
                        'template_id'	=> 'toggle_container',
                        'templates_include'	=> array(
                            $this->popup_key( 'modal_advanced_developer' )
                        ),
                        'nodescription' => true
                    ),
    
                    array(
                        'type' 	=> 'tab_close',
                        'nodescription' => true
                    ),
    
                    array(
                        'type'			=> 'template',
                        'template_id'	=> 'element_template_selection_tab',
                        'args'			=> array(
                            'sc'			=> $this,
                            'modal_group'	=> true
                        )
                    ),
    
                    array(
                        'type' 	=> 'tab_container_close',
                        'nodescription' => true
                    )
    
                );
    
                return $elements;
            }
    
            /**
             * Register all templates for the modal group popup
             *
             * @since 4.6.4
             */
            protected function register_modal_group_templates()
            {
                /**
                 * Content Tab
                 * ===========
                 */
    
                $c = array(
                    array(
                        'name' 	=> __( 'Card Title', 'avia_framework' ),
                        'desc' 	=> __( 'Enter the card title here (Better keep it short)', 'avia_framework' ),
                        'id' 	=> 'title',
                        'type' 	=> 'input',
                        'std' 	=> 'Tab Title',
                        'lockable'	=> true,
                    )
                );
    
                $template = array(
                    array(
                        'type'			=> 'template',
                        'template_id'	=> 'toggle',
                        'title'			=> __( 'Title', 'avia_framework' ),
                        'content'		=> $c
                    ),
                );
    
                AviaPopupTemplates()->register_dynamic_template( $this->popup_key( 'modal_card_title' ), $template );
    
                $c = array(
                    array(
                        'name'		=> __( 'Card Image', 'avia_framework' ),
                        'desc'		=> __( 'Either upload a new, or choose an existing image from your media library', 'avia_framework' ),
                        'id'		=> 'src',
                        'type'		=> 'image',
                        'title'		=> __( 'Insert Image', 'avia_framework' ),
                        'button'	=> __( 'Insert', 'avia_framework' ),
                        'std'		=> AviaBuilder::$path['imagesURL'] . 'placeholder.jpg',
                        'lockable'	=> true,
                        'locked'	=> array( 'src', 'attachment', 'attachment_size' )
                    ),
                    array(
                        'name'		=> __( 'Image Position', 'avia_framework' ),
                        'desc'		=> __( 'Either upload a new, or choose an existing image from your media library', 'avia_framework' ),
                        'id'		=> 'image_position',
                        'type'		=> 'select',
                        'std'		=> 'bottom',
                        'lockable'	=> true,
                        'locked'	=> array( 'src', 'attachment', 'attachment_size' ),
                        'subtype'	=> array(
                            __( 'Top', 'avia_framework' )		=> 'top',
                            __( 'Bottom', 'avia_framework' )    => 'bottom',
                            __( 'Above', 'avia_framework' )	    => 'above',
                            __( 'Below', 'avia_framework' )	    => 'below',
                        )
                    )
                );
                $template = array(
                    array(
                        'type'			=> 'template',
                        'template_id'	=> 'toggle',
                        'title'			=> __( 'Image', 'avia_framework' ),
                        'content'		=> $c
                    ),
                );
    
                AviaPopupTemplates()->register_dynamic_template( $this->popup_key( 'modal_card_image' ), $template );
    
                $c = array(
                    array(
                        'name' 	=> __( 'Card Content', 'avia_framework' ),
                        'desc' 	=> __( 'Enter some content here', 'avia_framework' ),
                        'id' 	=> 'content',
                        'type' 	=> 'tiny_mce',
                        'std' 	=> __( 'Tab Content goes here', 'avia_framework' ),
                        'lockable'	=> true,
                    ),
                );
                $template = array(
                    array(
                        'type'			=> 'template',
                        'template_id'	=> 'toggle',
                        'title'			=> __( 'Content', 'avia_framework' ),
                        'content'		=> $c
                    ),
                );
    
                AviaPopupTemplates()->register_dynamic_template( $this->popup_key( 'modal_card_content' ), $template );
    
                /////////////////////////////   BUTTON START ////////////////////////////// BUTTON START ////////////////////////////////
    
                $template = AbstraktEnfoldExtensions::amg_enfold_section('Button');
                AviaPopupTemplates()->register_dynamic_template( $this->popup_key( 'modal_button' ), $template );
                $template = AbstraktEnfoldExtensions::amg_enfold_section('Link Settings');
                AviaPopupTemplates()->register_dynamic_template( $this->popup_key( 'modal_button_link' ), $template );
                $template = AbstraktEnfoldExtensions::amg_enfold_section('Appearance');
                AviaPopupTemplates()->register_dynamic_template( $this->popup_key( 'styling_button_appearance' ), $template );
                $template = AbstraktEnfoldExtensions::amg_enfold_section('Font Sizes');
                AviaPopupTemplates()->register_dynamic_template( $this->popup_key( 'styling_button_fonts' ), $template );
                $c = AbstraktEnfoldExtensions::amg_enfold_section('Button Margin And Padding');
                AviaPopupTemplates()->register_dynamic_template( $this->popup_key( 'styling_button_margin_padding' ), $c );
                $template = AbstraktEnfoldExtensions::amg_enfold_section('Colors');
                AviaPopupTemplates()->register_dynamic_template( $this->popup_key( 'styling_button_colors' ), $template );
                $template = AbstraktEnfoldExtensions::amg_enfold_section('Animation');
                AviaPopupTemplates()->register_dynamic_template( $this->popup_key( 'advanced_button_animation' ), $template );
    
                /////////////////////////////   BUTTON END ////////////////////////////// BUTTON END ////////////////////////////////
    
                $setting_id = Avia_Builder()->get_developer_settings( 'custom_id' );
                $class = in_array( $setting_id, array( 'deactivate', 'hide' ) ) ? 'avia-hidden' : '';
    
                $c = array(
                    array(
                        'name' 	=> __( 'For Developers: Custom Tab ID','avia_framework' ),
                        'desc' 	=> __( 'Insert a custom ID for the element here. Make sure to only use allowed characters (latin characters, underscores, dashes and numbers, no special characters can be used)','avia_framework' ),
                        'id' 	=> 'custom_id',
                        'type' 	=> 'input',
                        'std' 	=> '',
                        'container_class'	=> $class,
                    )
                );
    
                $template = array(
                    array(
                        'type'			=> 'template',
                        'template_id'	=> 'toggle',
                        'title'			=> __( 'Developer Settings', 'avia_framework' ),
                        'content'		=> $c
                    ),
                );
    
                AviaPopupTemplates()->register_dynamic_template( $this->popup_key( 'modal_advanced_developer' ), $template );
    
            }
    
            /**
             * Editor Sub Element - this function defines the visual appearance of an element that is displayed within a modal window and on click opens its own modal window
             * Works in the same way as Editor Element
             *
             * @param array $params			holds the default values for $content and $args.
             * @return array				usually holds an innerHtml key that holds item specific markup.
             */
            public function editor_sub_element( $params )
            {
                $default = array();
                $locked = array();
                $attr = $params['args'];
                Avia_Element_Templates()->set_locked_attributes( $attr, $this, $this->config['shortcode_nested'][0], $default, $locked );
    
                $template = $this->update_option_lockable( 'title', $locked );
    
                $params['innerHtml']  = '';
                $params['innerHtml'] .= "<div class='avia_title_container' {$template} data-update_element_template='yes'>{$attr['title']}</div>";
    
                return $params;
            }
    
            /**
             * Create custom stylings
             *
             * @since 4.8.4
             * @param array $args
             * @return array
             */
            protected function get_element_styles( array $args )
            {
                $result = parent::get_element_styles( $args );
    
                extract( $result );
    
                $default = array(
                    'faq_markup'		        => '',
                    'styling'			        => '',
                    'colors'			        => '',
                    'border_color'		        => '',
                    'title_font_color'	        => '',
                    'title_background_color'	=> '',
                    'font_color'		        => '',
                    'background_color'	        => '',
                    'background_title_color'	=> '',
                );
    
                $default = $this->sync_sc_defaults_array( $default, 'no_modal_item', 'no_content' );
    
                $locked = array();
                Avia_Element_Templates()->set_locked_attributes( $atts, $this, $shortcodename, $default, $locked, $content );
                Avia_Element_Templates()->add_template_class( $meta, $atts, $default );
                $meta = aviaShortcodeTemplate::set_frontend_developer_heading_tag( $atts, $meta );
    
                $this->in_sc_exec = true;
    
                $atts = shortcode_atts( $default, $atts, $this->config['shortcode'] );
                
                //	set heading tag for all titles - save global
                $default_heading = ! empty( $meta['heading_tag'] ) ? $meta['heading_tag'] : 'h3';
    
                $args = array(
                    'heading'		=> $default_heading,
                    'extra_class'	=> $meta['heading_class']
                );
    
                $extra_args = array( $this, $atts, $content, 'title' );
    
                /**
                 * @since 4.9
                 * @return array
                 */
                $args = apply_filters( 'avf_customize_heading_settings', $args, __CLASS__, $extra_args );
    
                $this->heading_tag = ! empty( $args['heading'] ) ? $args['heading'] : $default_heading;
                $this->heading_class = ! empty( $args['extra_class'] ) ? $args['extra_class'] : $meta['heading_class'];
    
                $element_styling->create_callback_styles( $atts );
    
                $classes = array(
                    'cardContainer',
                    $element_id,
                    $atts['styling']
                );
    
                $element_styling->add_classes( 'item_container', $classes );
                $element_styling->add_classes_from_array( 'item_container', $meta, 'el_class' );
                $element_styling->add_responsive_classes( 'item_container', 'hide_element', $atts );
                $element_styling->add_responsive_font_sizes( 'title', 'size-title', $atts, $this );
                $element_styling->add_responsive_font_sizes( 'title', 'size-title', $atts, $this );
                $element_styling->add_responsive_font_sizes( 'toggle-content', 'size-content', $atts, $this );
    
                if ($atts['card_layout'] == 'custom') {
                    $element_styling->add_styles( 'item_container', array(
                        'max-width'	=> $atts['max_width'],
                    ) );
                    $element_styling->add_styles( 'column', array(
                        'flex'	    => str_replace(',', ' ', $atts['flex']),
                    ) );
                    $element_styling->add_styles( 'border', array(
                        'border-radius'	=> str_replace(',', ' ', $atts['border_radius']),
                    ) );
                }
    
                if( 'custom' == $atts['colors'] )
                {
                    $element_styling->add_styles( 'content', array(
                        'color'				=> $atts['font_color'],
                    ) );
                    $element_styling->add_styles( 'title', array(
                        'color'				=> $atts['title_font_color'],
                    ));
                    $element_styling->add_styles( 'tBackground', array(
                        'background-color'	=> $atts['title_bg_color'],
                    ));
                    $element_styling->add_styles( 'flip', array(
                        'box-shadow'	=> $atts['box-shadow'],
                    ));
                }
    
                if ($atts['corner'] != 'yes') {
                    $element_styling->add_styles( 'corner', array(
                        'border-style'	=> 'none',
                    ));
                }
    
                //	#top needed when placed inside section
                $selectors = array(
                    'column'            => "#top #wrap_all .cardContainer.{$element_id} .amg-flex-box .amg-flex-column",
                    'item_container'    => "#top #wrap_all .cardContainer.{$element_id}",
                    'title'		        => "#top #wrap_all .cardContainer.{$element_id} .amg-card-container {$this->heading_tag}.amg-card-title",
                    'content'	        => "#top #wrap_all .cardContainer.{$element_id} .amg-card-container .amg-card-content",
                    'contentTitle'	    => "#top #wrap_all .cardContainer.{$element_id} .amg-card-container {$this->heading_tag}.amg-card-content-title",
                    'tBackground'	    => "#top #wrap_all .cardContainer.{$element_id} .amg-card-container .card-title-container",
                    'flip'	            => "#top #wrap_all .cardContainer.{$element_id} .amg-card-container .amg-flip-box",
                    'border'            => "#top #wrap_all .cardContainer.{$element_id} .amg-card-container .amg-flip-box,
                                            #top #wrap_all .cardContainer.{$element_id} .amg-card-container,
                                            #top #wrap_all .cardContainer.{$element_id} .amg-card-container .amg-card-content,
                                            #top #wrap_all .cardContainer.{$element_id} .amg-card-container .amg-card-image,
                                            #top #wrap_all .cardContainer.{$element_id} .amg-card-container .card-title-container",
                    'corner'            => "#top #wrap_all .cardContainer.{$element_id} .amg-card-container  .card-title-container:before "
                );
    
                $element_styling->add_selectors( $selectors );
    
                $result['default'] = $default;
                $result['atts'] = $atts;
                $result['content'] = $content;
                $result['meta'] = $meta;
                $result['element_styling'] = $element_styling;
    
                $this->parent_atts = $atts;
                amg_sc_cards::$initial = $atts['initial'];
                amg_sc_cards::$tags = array();
    
                $this->el_styling = $element_styling;
    
                return $result;
            }
    
            /**
             * Create custom stylings for items
             *
             * @since 4.8.4
             * @param array $args
             * @return array
             */
            protected function get_element_styles_item( array $args )
            {
                $result = parent::get_element_styles_item( $args );
    
                /**
                 * Fixes a problem when 3-rd party plugins call nested shortcodes without executing main shortcode  (like YOAST in wpseo-filter-shortcodes)
                 */
                if( ! $this->in_sc_exec )
                {
                    return $result;
                }
                extract( $result );
                $default = array(
                    'title'			=> '',
                    'tags'			=> '',
                    'custom_id'		=> '',
                    'custom_markup'	=> ''
                );
                $default = $this->sync_sc_defaults_array( $default, 'modal_item', 'no_content' );
                $locked = array();
                Avia_Element_Templates()->set_locked_attributes( $atts, $this, $shortcodename, $default, $locked, $content );
    
                $classes = array(
                    'card',
                    $element_id
                );
    
                $element_styling->add_classes( 'item_container', $classes );
                $element_styling->add_classes( 'item_container', $this->class_by_arguments( 'icon_select, size, position', $atts, true, 'array' ) );
                $element_styling->add_responsive_classes( 'item_container', 'hide_element', $atts );
                $element_styling->add_responsive_font_sizes( 'container', 'size-content', $atts, $this );
    
                $this->set_button_styes( $element_styling, $atts );
    
                /////////////////////////////   BUTTON START ////////////////////////////// BUTTON START ////////////////////////////////
                if( $atts['icon_select'] == 'yes' )
                {
                    $atts['icon_select'] = 'yes-left-icon';
                }
                $classes = array(
                    'avia-button',
                    $element_id
                );
    
                $element_styling->add_classes( 'container', $classes );
                $element_styling->add_classes( 'container', $this->class_by_arguments( 'button_icon_select, size, position', $atts, true, 'array' ) );
                $element_styling->add_responsive_classes( 'container', 'hide_element', $atts );
                $element_styling->add_responsive_font_sizes( 'container', 'size-text', $atts, $this );
                $element_styling->add_responsive_font_sizes( 'button_icon', 'size-button-icon', $atts, $this );
    
                $element_styling->add_classes( 'wrap', $element_id . '-wrap' );
    
                $this->set_button_styes( $element_styling, $atts );
    
                if( ! empty( $atts['css_position'] ) )
                {
                    $element_styling->add_responsive_styles( 'wrap', 'css_position', $atts, $this );
                }
    
                $element_styling->add_responsive_styles( 'container', 'margin', $atts, $this );
                $element_styling->add_responsive_styles( 'container', 'padding', $atts, $this );
    
                if( ! in_array( $atts['animation'], array( 'no-animation', '' ) ) )
                {
                    if( false !== strpos( $atts['animation'], 'curtain-reveal-' ) )
                    {
                        $classes_curtain = array(
                            'avia-curtain-reveal-overlay',
                            'av-animated-when-visible-95',
                            'animate-all-devices',
                            $atts['animation']
                        );
    
                        //	animate in preview window
                        if( is_admin() )
                        {
                            $classes_curtain[] = 'avia-animate-admin-preview';
                        }
    
                        $element_styling->add_classes( 'curtain', $classes_curtain );
                        $element_styling->add_callback_styles( 'curtain', array( 'animation' ) );
                    }
                    else
                    {
                        $wrap_classes = array(
                            'avia_animated_button',
                            'av-animated-when-visible-95',
    //										'animate-all-devices',
                            $atts['animation']
                        );
    
                        if( is_admin() )
                        {
                            $wrap_classes[] = 'avia-animate-admin-preview';
    
                            $element_styling->add_callback_styles( 'wrap', array( 'animation' ) );
                        }
                        else
                        {
                            $element_styling->add_callback_styles( 'wrap-animation', array( 'animation' ) );
                        }
    
                        $element_styling->add_classes( 'wrap', $wrap_classes );
                    }
                }
                /////////////////////////////   BUTTON END //////////////////////////////// BUTTON END //////////////////////////////////
    
                $selectors = array(
                    'item_container'	=> ".cardContainer .amg-card-container.{$element_id}",
                    'content'	        => ".cardContainer .amg-card-container.{$element_id} .amg-card-content"
                );
    
                /////////////////////////////   BUTTON START ////////////////////////////// BUTTON START ////////////////////////////////
                $selectors = AbstraktEnfoldExtensions::amg_button_append_selectors($selectors, $element_id);
                /////////////////////////////   BUTTON END //////////////////////////////// BUTTON END //////////////////////////////////
    
                $element_styling->add_selectors( $selectors );
    
                $result['default'] = $default;
                $result['atts'] = $atts;
                $result['content'] = $content;
                $result['element_styling'] = $element_styling;
    
                return $result;
            }
    
            /**
             * Frontend Shortcode Handler
             *
             * @param array $atts array of attributes
             * @param string $content text within enclosing form of shortcode element
             * @param string $shortcodename the shortcode found, when == callback name
             * @return string $output returns the modified html string
             */
            public function shortcode_handler( $atts, $content = '', $shortcodename = '', $meta = '' )
            {
                $result = $this->get_element_styles( compact( array( 'atts', 'content', 'shortcodename', 'meta' ) ) );
    
                extract( $result );
                extract( $atts );
    
                $this->subitem_inline_styles = '';
    
                amg_sc_cards::$counter = 1;
    
                $content = ShortcodeHelper::avia_remove_autop( $content, true );
    
                $style_tag = $element_styling->get_style_tag( $element_id );
                $item_tag = $element_styling->style_tag_html( $this->subitem_inline_styles, 'sub-' . $element_id );
                $container_class = $element_styling->get_class_string( 'item_container' );
                $class = $atts['animation'];
                $class .= " {$atts['title_position']}";
    
                $output  = '';
                $output .= $style_tag;
                $output .= $item_tag;
                $output .= "<div id='app' data-animated='{$atts['intro']}' data-duration='{$atts['duration']}' data-height='{$atts['min_height']}' data-mobile-height='{$atts['mobile_min_height']}' {$meta['custom_el_id']} class='{$container_class} {$class}' {$markup_faq}>";
                $output .= "<div class='amg-flex-box'>";
                $output .= $content;
                $output .= '</div>';
                $output .= '</div>';
    
                $this->in_sc_exec = false;
    
                return $output;
            }
    
            /**
             * Shortcode handler
             *
             * @param array $atts
             * @param string $content
             * @param string $shortcodename
             * @return string
             */
            public function amg_card( $atts, $content = '', $shortcodename = '' )
            {
                /**
                 * Fixes a problem when 3-rd party plugins call nested shortcodes without executing main shortcode  (like YOAST in wpseo-filter-shortcodes)
                 */
                if( ! $this->in_sc_exec )
                {
                    return '';
                }
    
                $result = $this->get_element_styles_item( compact( array( 'atts', 'content', 'shortcodename' ) ) );
    
                extract( $result );
                $toggle_atts = $atts;
    
                $this->subitem_inline_styles .= $element_styling->get_style_tag( $element_id, 'rules_only' );
    
                /////////////////////////////   BUTTON START //////////////////////////////// BUTTON START //////////////////////////////////
    
                $output  = '';
                $output .= $style_tag;
                $button = '';
    
                if( '' != $atts['color_options'] )
                {
                    if( 'custom' != $atts['btn_color_bg_hover'] && 'btn_custom_grad' != $atts['btn_color_bg'] )
                    {
                        //	must be added otherwise we get a bottom border !!!
    //					$style_hover = "style='background-color:{$atts['btn_color_bg_hover']};'";
    
                        if( $this->is_special_button_color( $atts['btn_color_bg_hover'] ) )
                        {
                            $background_hover = "<span class='avia_button_background avia-button avia-color-{$atts['btn_color_bg_hover']}' {$style_hover}></span>";
                        }
                    }
                }
    
                $style_tag = $element_styling->get_style_tag( $element_id );
                $wrap_class = $element_styling->get_class_string( 'wrap' );
                $button_container_class = $element_styling->get_class_string( 'container' );
                if ($atts['button'] == 'yes') {
                    $button = AbstraktEnfoldExtensions::amg_create_button($atts, $meta, $button_container_class, $style_tag, $wrap_class, $background_hover);
                }
    
                /////////////////////////////   BUTTON END //////////////////////////////// BUTTON END //////////////////////////////////
    
                $output .= "<div class='amg-flex-column card'>";
                $output .= '<div class="amg-card-container">';
                $output .= '<div class="amg-flip-box">';
                $output .= '<div class="amg-card-content">';
                $output .= ShortcodeHelper::avia_apply_autop( ShortcodeHelper::avia_remove_autop( $content ) );
                $output .= $button;
                $output .= '</div>';
                $output .= '<div id="' . $toggle_atts['custom_id'] . '" class="amg-card-image" id="card-image-' . $toggle_atts['custom_id'] . '"><img alt="' . $toggle_atts['title'] . '" src="' . $toggle_atts['src'] . '"></div>';
                $output .= "<div class='card-title-container'><{$this->heading_tag} class='amg-card-title'>" . $toggle_atts['title'] . "</{$this->heading_tag}></div>";;
                $output .= '</div>';
                $output .= '</div>';
                $output .= '</div>';
    
                amg_sc_cards::$counter ++;
    
                return $output;
            }
        }
    }
    
    #1477806

    In reply to: mfp-hide pop up

    * fixed by updated header.php in child theme….Also, since updating to 7.0 today the theme footer page is not longer working, no footer is showing and a page is selected in the Enfold Child Footer theme options.
    Thank you

    • This reply was modified 1 year, 1 month ago by finchkelsey.
    #1477755

    Hi
    In the changelog for Enfold 7.0 you write the following:
    tweak: splitted functions.php and functions-enfold.php in seperate files and restructured files in /includes folder
    What this means concrete?
    We have on almost all our Enfold websites some code in the functions.php. Do we have to move this to functions-enfold.php?
    Best regards
    Mike

    #1477629

    Hi,
    In this case you do not need: add_theme_support( 'avia_custom_shop_page' ); this is only for the “shop page”
    When I check your product page you have the error: 503 (Service Unavailable), this is a server error.
    Try changing your “PHP max input variables” to “10000” and your “PHP memory limit” to “768”
    I don’t have trouble with the same theme version, PHP version, woocommerce version on my test site.

    Best regards,
    Mike

    #1477463

    Hello Rikard,

    Here are the instructions. We followed them, but the same error keeps occurring.

    How to manually import a theme demo

    • Please add following line to Functions.php file in Appearance > Editor
    add_theme_support( ‘avia_demo_store_downloaded_files’ );
    • Download the zip file of the demo you would like to import from https://github.com/KriesiMedia/enfold-library/tree/master/demos
    • Extract it in \uploads\avia_demo_files\ folder. If you are importing Enfold 2017 demo, files should be extracted inside \enfold-2017\ so it should look as \uploads\avia_demo_files\enfold-2017\
    • Go to Enfold theme options > Demo Import and import the demo

    #1477441

    Hey ausgesonnen,

    Thank you for the inquiry.

    You can add this code in the functions.php file:

    function av_add_typekit_stylesheet() {
        echo ' 	<link rel="stylesheet" href="https://use.typekit.net/dib7xer.css">';
    }
    add_action('wp_head', 'av_add_typekit_stylesheet');
    

    Then add the css code in the Enfold > General Styling > Quick CSS field if you want to apply it as the default body font:

    body, body p {
        font-family: "arpona", serif;
        font-weight: 500;
        font-style: normal;
    }

    Best regards,
    Ismael

    #1477423
    ausgesonnen
    Participant

    Hi there,
    1. I would like to change the font of the deafautl headings to an adobe font.
    it says i need to add this to the unctions.pho of my child theme.
    <link rel=”stylesheet” href=”https://use.typekit.net/dib7xer.css”&gt;
    but when I do that it comes up with the error message:
    Your PHP code changes were not applied due to an error on line 8 of file wp-content/themes/enfold-child/functions.php. Please fix and try saving again.
    syntax error, unexpected token “<“, expecting end of file

    2. I then need to add this somewhere
    font-family: “arpona”, serif;
    font-weight: 500;
    font-style: normal;
    but not sure how to do that.

    thanks
    Pete

    #1477336
    FdB_wp
    Participant

    Hallo Service
    Kann im Backend mit dem erweiterten Layout Editor im ENFOLD nicht mehr die Inhalts-Elemente im Layout editieren. Alle Inhaltselemente sind leer. Das Frontend sieht gut aus. Habe alle Plugins disabled aber immer noch leere Seiten. Es ging bis jetzt mit den Plugins, sind auch keine neuen hinzugekommen.
    Das einzige wo ich wechselte war von PHP-Version: 8.1 auf PHP-Version: 8.2.7. Auch das wechselte ich wieder, war immer noch leer.
    Wo ist das Problem?

    Mit freundlichen Grüßen
    Fred Braune

    #1477195

    Hi,
    Try adding this code to the end of your child theme functions.php file in Appearance ▸ Editor:

    function custom_script() { ?>
      <script>
    window.addEventListener('DOMContentLoaded', function() {
      (function($){
      $('.single-post').each(function() {
      $(this).find('.entry-content-header').css({'margin-top':'15px'}).insertAfter($(this).find('.big-preview').css({'margin-top':'0'}));
      });
      })(jQuery);
    });
    </script>
      <?php
    }
    add_action( 'wp_footer', 'custom_script', 99 );

    Please ensure to copy the code from the forum and not an email notification so the symbols are not converted.
    Screen Shot 2025 02 16 at 7.31.56 AM
    To use the full size featured image for single posts with a sidebar, instead of the 845×321 size that will be upscaled, add this code to the end of your child theme functions.php file in Appearance ▸ Editor:

    add_filter( 'post_thumbnail_size', 'custom_single_event_post_thumbnail_size' );
    function custom_single_event_post_thumbnail_size($size) {
        if( !is_singular('post') ) {
            return;
        }
        if( ! has_post_thumbnail() ) {
            return;
        }
        $size = 'full'; 
        return $size;
    }

    Please ensure to copy the code from the forum and not an email notification so the symbols are not converted.

    Best regards,
    Mike

    #1477159

    Hi,
    You have a duplicate question open I answered there:
    The reference to the “shortcode” folder is what you add to your child theme, the “sections.php” in the parent theme is at: /config-templatebuilder/avia-shortcodes/section/section.php
    This will only work with self hosted videos and not on mobile.

    Best regards,
    Mike

    #1477133
    Jed Zilberberg
    Participant

    Hi,
    I am moving my site to a new host. I transferred everything as usual and encountered these errors below when viewing the wp admin area. If you could please provide some assistance with why this is happening and how to resolve it. Using WP 6.7.1 and Enfold 6.0.6. Thanks!

    Notice: unserialize(): Error at offset 1716 of 10481 bytes in /home/customer/www/jedz3.sg-host.com/public_html/wp-content/themes/enfold/config-acf/class-avia-acf.php on line 171

    Warning: Trying to access array offset on value of type bool in /home/customer/www/jedz3.sg-host.com/public_html/wp-content/themes/enfold/config-acf/class-avia-acf.php on line 174

    Notice: unserialize(): Error at offset 3131 of 4163 bytes in /home/customer/www/jedz3.sg-host.com/public_html/wp-content/themes/enfold/config-acf/class-avia-acf.php on line 171

    Warning: Trying to access array offset on value of type bool in /home/customer/www/jedz3.sg-host.com/public_html/wp-content/themes/enfold/config-acf/class-avia-acf.php on line 174

    epkdesign
    Participant

    Hi, I found some older posts dealing with this. But they seem to reference classes and files that I can’t find, so I feel like enfold might have updated to the point the fixes are no longer valid.

    I tried using the solution mentioned here https://kriesi.at/support/topic/html-for-turning-on-audio/#post-1477062, specifically the one that links to here https://webers-testseite.de/mute-unmute/, but I could not find the shortcode folder within enfold, or the sections.php to copy into my child theme. Have they moved somewhere else, or is there a different place I can find the code that is mentioned?

    The video I’m trying to use is currently hosted on youtube. I did see some mention of needing to be self-hosted, but it seemed confusing as to what situation that applied to.

    Also, I’d ideally like to use the fontello icons included with enfold to be the mute and unmute button. Can I just use the content/font css instead of a background image in the css?

    #1477062

    Hi, I am trying to put in a button for audio on a background video in a color section. I looked in Guenni007’s example, but I can’t seem to find a shortcodes folder in my parent Enfold theme, with the sections.php file that is mentioned. Has this moved/updated since that fix was posted, or am I looking in the wrong place?

    I would also like to use the fontello icons for the mute buttons. Can I just use the css content/font family style for those, in lieu of a background image?

    The current video i’m trying to use is a YouTube video. Does the above post imply that the fix will not work with those, the video must be self hosted?

    Thank you for any help you can give.

    thank you very much for the alternative!
    this is a great way to add code without touching the php file itself!

    I have done what you said (I think), but is still not working. Please see print screens.
    https://drive.google.com/drive/folders/1ArPb35TGxJ0cDF2aFpe2duu4fBi1A7ue?usp=share_link

    #1476894
    Vorden69
    Participant

    Hello everyone,
    I am now managing an old website for a friend that needs to be updated. For some reason, the Enfold 4.5.6 theme cannot be updated via the backend. It is always displayed that no update is available. The Envato private token is updated. PHP is 7.4 and Word is 6.7.1, but I need to update the Enfold theme so that I can install the latest PHP. What do I have to do? Many thanks in advance
    Sven

    • This topic was modified 1 year, 1 month ago by Vorden69.

    Hi,

    Thanks for the update.

    We added the code in the functions.php file:

    Please make sure to purge the cache before checking the events page. (see private field)

    Best regards,
    Ismael

    #1476833
    This reply has been marked as private.
    #1476746
    warlockvix1
    Participant

    Good evening,
    I’m getting the error “Error accessing file for download: cURL error 28: Connection timeout after 10001 ms” when I try to download demo data. I have read through the posts and the documentation. I have –

    – Increased the timeout
    – Increased the memory
    – Attempted to install the demo data manually
    – Assigned a unique IP address to my server instance on my hosting provider (Dreamhost).
    – Used Cloudflare to proxy all the traffic
    – Installed WP manually instead of using the canned installation offered by Dreamhost.

    When a tracert is run from the server instance to kriesi.at, it is successful

    traceroute to kriesi.at (85.13.136.225), 30 hops max, 60 byte packets
    1 ip-173-236-240-1.dreamhost.com (173.236.240.1) 4.671 ms 4.587 ms
    4.543 ms
    2 * * *
    3 iad1-bdr-2.sd.dreamhost.com (208.113.156.194) 0.272 ms 0.261 ms
    0.253 ms
    4 be5698.rcr51.b037327-0.iad02.atlas.cogentco.com (38.122.62.253)
    0.955 ms 0.910 ms 0.870 ms
    5 be3562.ccr41.iad02.atlas.cogentco.com (154.54.24.233) 0.836 ms be3563.ccr42.iad02.atlas.cogentco.com (154.54.25.225) 1.015 ms be5698.rcr51.b037327-0.iad02.atlas.cogentco.com (38.122.62.253) 1.200 ms
    6 be3562.ccr41.iad02.atlas.cogentco.com (154.54.24.233) 0.967 ms
    0.845 ms *
    7 * 154.54.171.65 (154.54.171.65) 1.260 ms 1.417 ms
    8 be8073.ccr41.jfk02.atlas.cogentco.com (154.54.170.70) 99.869 ms
    99.687 ms be4188.ccr42.jfk02.atlas.cogentco.com (154.54.30.122) 92.931 ms
    9 be3627.ccr41.par01.atlas.cogentco.com (66.28.4.198) 90.022 ms be4188.ccr42.jfk02.atlas.cogentco.com (154.54.30.122) 93.143 ms be3472.ccr32.bos01.atlas.cogentco.com (154.54.46.33) 92.276 ms
    10 be3471.ccr31.bos01.atlas.cogentco.com (154.54.40.153) 93.198 ms be3685.ccr42.par01.atlas.cogentco.com (154.54.60.173) 88.854 ms be3393.ccr51.lhr01.atlas.cogentco.com (154.54.47.142) 92.670 ms
    11 be3393.ccr51.lhr01.atlas.cogentco.com (154.54.47.142) 96.670 ms
    96.982 ms be3684.ccr41.par01.atlas.cogentco.com (154.54.60.169) 93.381 ms
    12 be3684.ccr41.par01.atlas.cogentco.com (154.54.60.169) 93.238 ms be4975.ccr41.fra05.atlas.cogentco.com (154.54.63.69) 93.308 ms be3685.ccr42.par01.atlas.cogentco.com (154.54.60.173) 103.244 ms
    13 be6038.rcr71.nue01.atlas.cogentco.com (154.54.72.94) 96.653 ms be4975.ccr41.fra05.atlas.cogentco.com (154.54.63.69) 93.637 ms be5516.ccr21.muc03.atlas.cogentco.com (154.54.62.122) 97.980 ms
    14 be6038.rcr71.nue01.atlas.cogentco.com (154.54.72.94) 101.870 ms
    101.535 ms be5516.ccr21.muc03.atlas.cogentco.com (154.54.62.122) 97.954 ms
    15 dd16312.kasserver.com (85.13.136.225) 100.462 ms be6037.rcr71.nue01.atlas.cogentco.com (154.54.72.90) 105.649 ms be6036.rcr71.drs01.atlas.cogentco.com (154.54.72.85) 109.273 ms

    However, when I throw the curl command at kriesi.at, it fails

    curl -I https://kriesi.at/
    curl: (28) Failed to connect to kriesi.at port 443 after 130772 ms:
    Connection timed out

    Is it possible that your server is blocking the IP address or Dreamhost in general?

    Downloading the demo data does work on a WP instance that is NOT on my hosting provider; however, exporting the theme file consistently results in a TXT file, even after I add the entry define( ‘AVIA_GENERATE_DEMO_PHP_FILE’, true ) to the wp-config.php file. I will note a slight difference in the TXT file when the entry is present. The text inside the TXT starts with “$options = “. I tried renaming the file as a PHP, but the import stated the file was invalid.

    #1476676
    Rachael Payne
    Participant

    Due to a theme glitch, I need help updating the Enfold theme from 4.5.2 to whatever will let PHP 7.4 run because the Theme will not accept our purchased license tokens.

    We have purchased the theme TWICE (we should not have had to), and in both instances the license token says that it IS valid and gets a green checkmark in the confirmation pop-up, but yet the Theme Update page says the token is invalid.

    Copied and pasted below is exactly what appears on our Theme Update page before and after inputting a valid token, despite getting a confirmation pop-up with a green checkmark indicating that it is valid.

    [START OF MESSAGE ON THEME UPDATE PAGE]

    t time we checked the token we were not able to connected to Envato:
    ◦ Purchases could not be accessed
    ◦ Username could not be accessed (needed for your information only)
    ◦ E-Mail could not be accessed (needed for your information only)
    Following errors occurred:
    ◦ Purchases: Your private token is invalid.
    ◦ username Your private token is invalid.
    ◦ email Your private token is invalid.
    ◦ Purchases: A problem occured accessing your purchases. Unable to check for updates.

    Theme Updates
    Once you have entered and verified your Envato Personal Token Key WordPress will check for updates every 12 Hours and notify you here, if one is available

    Your current Enfold Theme Version Number is 4.5.2

    [END OF MESSAGE ON THEME UPDATE PAGE]

    Again, both tokens that we purchased, we entered and re-entered and each time got the green checkmark confirmation pop-up that it is valid and in use, while at the same time the above message. (I input the token into a plain text editor, then copied and pasted it into the Theme Update page.)

    THE PROBLEM: We cannot update it. I really hesitate to upload a fresh install of the theme out of concern that the token once again will not be accepted. Frankly, I’m not comfortable with a fresh, manual install.

    1. Could you help me trouble-shoot the easiest, best approach?
    2. Why am I getting this glitch and message prompt despite valid license tokens being entered?

    3. What minimum Enfold theme update is needed in order to run PHP 7.4 with WordPress? We are currently using Enfold 4.5.2
    4. Also, my Enfold/Kriesi account email (which includes multiple clients’ licenses) is different from the WordPress admin email, which is my client’s email. That should not be a problem, should it?

    I’ve just paid for a new license in order to get Support, and assume that we’ll be able to continue this discussion via email.

    Thank you for your help.

    #1476668

    Hey michaelf245,
    I assume that this is what you have now with the image in the content box:
    Screen Shot 2025 02 08 at 7.43.12 AM
    Try adding this code to the end of your child theme functions.php file in Appearance ▸ Editor:

    function custom_script() { ?>
      <script>
    $(document).ready(function() {
      $('.av-milestone').each(function() {
        var image = $(this).find('img');
        var content = $(this).find('.av-milestone-content-wrap');
        content.after(image);
        $(this).css('display', 'flex');
        image.css('margin-left', '20px');
      });
    });
    </script>
      <?php
    }
    add_action( 'wp_footer', 'custom_script', 99 );

    and this css in your quick css:

    .avia-timeline-vertical.av-milestone-placement-left .av-milestone-content-wrap {
        width: 50%;
    }
    .avia-timeline-vertical .av-milestone-content-wrap {
        padding: 0px 0px 30px 60px;
    }
    .avia-timeline-vertical .av-milestone-icon-wrap {
        padding: 0px 0 30px 0;    width: 90px;
    }
    html .av-milestone :where(img[class*=wp-image-]) {
        height: 180px;
    }
    .avia-timeline-vertical .av-milestone-date {
        padding: 30px 60px 0 0;
    }

    My images are 180px, so you may need to adjust the css to suit.
    result:
    Screen Shot 2025 02 08 at 7.38.29 AM

    Best regards,
    Mike

    #1476614

    Hi, thanks,
    no i added the skripts through copy paste into css and php.
    Yes you can deactivate temporarily if it help.
    Tthe lightbox skript was this:
    add_filter( 'avf_default_lightbox_no_scroll', '__return_true' );
    from here: https://kriesi.at/support/topic/galery-looks-strange-lightbox-much-too-big/#post-1476130

    #1476535

    Thank you for this thoughtful response Guenni007. The issue isn’t a transparency issue, but rather the logo actually missing. I can use the emergency code you provided, but would rather find the issue if we can.

    Ismael, as mentioned previously, I have added no code to the functions.php file. Am I supposed to? Enfold typically uses the main logo on desktop for the mobile version as well.

    #1476477

    there is no entry in your child-theme functions.php that uses the filter :
    avf_logo – and you also have no entry regarding $logo ?

    on default Enfold handles to show on mobile the normal logo – because they give up the transparency setting and have a white background on logo container. So you must have some css code to force transparency and to set #main to padding-top: 0
    that is the reason why they show the normal logo allthough the header is set to transparency.

    see demo behaviour on mobile: https://kriesi.at/themes/enfold-2017/

    #1476411
    Rolf Wagner
    Guest

    Hello,

    my name is Rolf Wagner.
    I was hired by a friend of mine Mrs. Klinglmair to check and update her website https://sprachwerkstatt-gilching.de which was build some years ago by another person which is not reachable anymore.

    I wanted to upgrade the PHP Version of the related WordPress installation to a newer version but this fails due to an error in one of your theme php files. The error is as follows:

    Ein Fehler vom Typ E_COMPILE_ERROR wurde in der Zeile 313 der Datei /mnt/web605/d1/67/59587267/htdocs/WordPress_SecureMode_01/wp-content/themes/enfold/functions-enfold.php verursacht.
    Fehlermeldung: Unparenthesized a ? b : c ? d : e is not supported. Use either (a ? b : c) ? d : e or a ? b : (c ? d : e)

    The version of the used theme Enfold is currently 4.5 which for sure is some years old.
    In the update-section of WordPress there is no hint to a newer version but I found your entry on the envato marketplace which says the current version is 6.0.
    So my idea is that we need to update to v6.0 to get a better compatibility to a newer PHP and the problem showed before is solved automatically.

    What is the best way to update to v6.0 (automatically or manually)?
    Is there a need to buy it newly?

    Thanks in advance for your help.

    Best regards
    Rolf

    #1476258

    Topic: erreur

    Sophie Breton
    Guest

    I tried : too many extensions don’t install! it doesn’t work!!!!!!

    Please add following line to Functions.php file in Appearance > Editor
    add_theme_support( ‘avia_demo_store_downloaded_files’ );

    Download the zip file of the demo you would like to import from https://github.com/KriesiMedia/enfold-library/tree/master/demos
    Extract it in uploadsavia_demo_files folder. If you are importing Enfold 2017 demo, files should be extracted inside enfold-2017 so it should look as uploadsavia_demo_filesenfold-2017
    Go to Enfold theme options > Demo Import and import the demo

    #1476247

    In reply to: error cURL error 28:

    dont bother bro the solution support will provide will be a solution that looks like chinese dealing with :

    How to manually import a theme demo

    Please add following line to Functions.php file in Appearance > Editor
    add_theme_support( ‘avia_demo_store_downloaded_files’ );

    Download the zip file of the demo you would like to import from https://github.com/KriesiMedia/enfold-library/tree/master/demos
    Extract it in \uploads\avia_demo_files\ folder. If you are importing Enfold 2017 demo, files should be extracted inside \enfold-2017\ so it should look as \uploads\avia_demo_files\enfold-2017\
    Go to Enfold theme options > Demo Import and import the demo

    ——

    i am considering buying another theme as this is just impossible for a non pro to use it

    i suggested a video tutorial but no response

    • This reply was modified 1 year, 2 months ago by hankboomer.
Viewing 30 results - 391 through 420 (of 16,890 total)