public function isModularitySidebarActive($sidebar) { $template = \Modularity\Helper\Post::getPostTemplate(); if (!file_exists($template)) { $template = \Modularity\Helper\Wp::findCoreTemplates([$template, 'archive']); } $options = get_option('modularity-options'); if (is_home()) { $template = 'home'; } if (!isset($options['enabled-areas'][$template]) || !in_array($sidebar, $options['enabled-areas'][$template])) { return false; } return true; }
/** * Loops registered sidebars and creates metaboxes for them * @return void */ public function addSidebarsMetaBoxes() { global $wp_registered_sidebars; $template = \Modularity\Helper\Post::getPostTemplate(); $sidebars = null; $activeAreas = $this->getActiveAreas($template); // Add no active sidebars message if no active sidebars exists if (count($activeAreas) === 0) { add_meta_box('no-sidebars', __('No active sidebar areas', 'modularity'), function () { echo '<p>' . __('There\'s no active sidebars. Please activate sidebar areas in the Modularity Options to add modules.', 'modularity') . '</p>'; }, $this->screenHook, 'normal', 'low', null); return; } foreach ($activeAreas as $area) { if (isset($wp_registered_sidebars[$area])) { $sidebars[$area] = $wp_registered_sidebars[$area]; } } if (is_array($sidebars)) { foreach ($sidebars as $sidebar) { $this->sidebarMetaBox($sidebar); } } }