get_categories(); $this->get_category(); $this->trigger_hooks(); add_action('admin_menu', array(&$this, 'trigget_admin_menu')); add_action('admin_bar_menu', array(&$this, 'admin_bar_menu'), 999); } public static function getInstance() { if (!self::$instance) self::$instance = new self; return self::$instance; } private function trigger_hooks() { add_action('admin_menu', array(&$this, 'trigget_admin_menu')); add_action('admin_bar_menu', array(&$this, 'admin_bar_menu'), 999); add_action('admin_enqueue_scripts', array(&$this, 'admin_enqueue_scripts')); } private function get_categories() { $taxonomy = 'link_category'; $args = array('hide_empty' => false); $this->categories = get_terms( $taxonomy, $args ); } private function get_category() { $this->category = get_option('sj-apparition'); $this->category_array = explode(',', $this->category); $this->bookmark = get_bookmarks(array('category' => $this->category)); } public function admin_enqueue_scripts() { wp_enqueue_style('sujin_apparition', plugin_dir_url( __FILE__ ) . '/style.css'); } public function trigget_admin_menu() { add_options_page(__('Apparition!', $this->text_domain), __('Apparition!', $this->text_domain), 'manage_options', 'apparition', array(&$this, 'admin_menu')); } public function admin_menu() { if (isset($_POST['action']) && check_admin_referer($this->text_domain)) { $categories = array(); foreach ($_POST['cat'] as $key => $val) { $categories[] = $key; } $categories = implode(',', $categories); update_option('sj-apparition', $categories); $this->get_category(); $this->redirect(); } $this->print_admin_page(); } private function print_admin_page() { ?>

text_domain); ?>

text_domain); ?>

categories as $category) { ?>
term_id, $this->category_array)) echo 'checked="checked"' ?> />
text_domain) ?>

text_domain); ?>

'sj-apparition', 'title' => __('Apparition!', $this->text_domain), 'href' => get_site_url() . '/wp-admin/options-general.php?page=apparition' ); $wp_admin_bar->add_node($args); foreach ($this->bookmark as $bookmark) { $args = array( 'id' => 'bookmark-' . $bookmark->link_id, 'title' => $bookmark->link_name, 'href' => $bookmark->link_url, 'parent' => 'sj-apparition', 'meta' => array('target' => $bookmark->link_target) ); $wp_admin_bar->add_node($args); } } private function redirect($url) { if (!$url) $url = $_SERVER['HTTP_REFERER']; echo ''; die; } private function debug($array) { $style = ($this->debug == false) ? 'style="display:none;"' : ''; echo '
';
		print_r($array);
		echo '
'; } } $sjApparition = sjApparition::getInstance();