. */ // Do not allow directly accessing this file. if ( ! defined( 'ABSPATH' ) ) { exit( 'Direct script access denied.' ); } /** * The Sidebar Generator. */ class Sidebar_Generator { /** * The class constructor. * * @access public */ public function __construct() { add_action( 'init', [ $this, 'init' ] ); add_action( 'widgets_admin_page', [ $this, 'admin_page' ] ); add_action( 'admin_enqueue_scripts', [ $this, 'admin_enqueue_scripts' ] ); add_action( 'admin_print_scripts', [ $this, 'admin_print_scripts' ] ); } /** * Initializes the sidebar registration. * * @access public */ public function init() { if ( current_user_can( 'manage_options' ) ) { add_action( 'wp_ajax_add_sidebar', [ $this, 'add_sidebar' ] ); add_action( 'wp_ajax_remove_sidebar', [ $this, 'remove_sidebar' ] ); } // Go through each sidebar and register it. $sidebars = self::get_sidebars(); if ( is_array( $sidebars ) ) { foreach ( $sidebars as $sidebar ) { $sidebar_class = self::name_to_class( $sidebar ); register_sidebar( [ 'name' => $sidebar, 'id' => 'avada-custom-sidebar-' . strtolower( $sidebar_class ), 'before_widget' => '
', 'before_title' => '