public function init($options = array()) { $this->cache['options'] = $options; /* * Setup framework internal functionality */ add_filter('bunyad-active-widgets', array($this, 'filter_widgets')); // initialize options and add to cache Bunyad::options()->set_config(array_merge(array('meta_prefix' => '_' . strtolower($options['theme_name']), 'theme_prefix' => strtolower($options['theme_name'])), $options))->init(); if (isset($options['options']) && is_array($options['options'])) { Bunyad::options()->set($options['options']); } // initialize admin if (is_admin()) { $this->init_admin($options); } // init menu helper classes Bunyad::menus(); // default to no sidebar $this->set_sidebar(Bunyad::options()->default_sidebar); // set default style $this->add_body_class(Bunyad::options()->layout_style); /* * Add theme related functionality using the after_setup_theme hook */ add_action('after_setup_theme', array($this, 'setup'), 11); return $this; }