*/ class Sidebar_Generator extends Sidebar_Generator_Model { private $url; private $options; public function __construct() { $this->url = WP_ADMINIFY_URL . 'Inc/Modules/SidebarGenerator'; $this->options = (new Sidebar_Generator_Settings())->get(); add_action('admin_enqueue_scripts', [$this, 'sidebar_generator_scripts'], 99); add_action('admin_init', [$this, 'get_all_sidebars']); add_action('widgets_init', [$this, 'render_generate_sidebars']); } /** * Render Sidebars * * @return void */ public function render_generate_sidebars() { //Make sure if we have valid sidebars data if (!empty($this->options['sidebars']) && is_array($this->options['sidebars'])) { foreach ($this->options['sidebars'] as $sidebar) { $sidebar_id = str_replace(" ", "_", strtolower($sidebar['sidebar_title'])); $id = 'adminify-' . $sidebar_id; $name = $sidebar['sidebar_title']; $description = $sidebar['sidebar_desc']; $alias = $sidebar_id; $sidebar_class = Utils::convert_name_to_class($alias); register_sidebar(array( 'name' => $name, 'id' => "generated_sidebar-$id", 'description' => $description, 'before_widget' => '
', 'after_widget' => '
', 'before_title' => '

', 'after_title' => '

', )); } } } /** * Sidebar Generator Script * * @return void */ public function sidebar_generator_scripts() { global $pagenow; if (('admin.php' === $pagenow) && ('wp-adminify-sidebar-generator' === $_GET['page'])) { $this->sidebar_generator_option_style(); } } public function sidebar_generator_option_style() { echo ''; } /** * Get All Sidebars * * @return void */ public function get_all_sidebars() { global $wp_registered_sidebars; $sidebar_list = []; foreach ($wp_registered_sidebars as $key => $values) { $sidebar_list[$key] = [ 'sidebar_name' => $values['name'], 'sidebar_id' => $values['id'], 'sidebar_desc' => $values['description'] ]; } } }