pointer_title = $title; return $this; } public function set_pointer_content($pointer_content) { $this->pointer_content = $pointer_content; return $this; } public function set_pointer_id($pointer) { $this->pointer_id = $pointer; return $this; } public function set_pointer_anchor($pointer_anchor) { $this->pointer_anchor = $pointer_anchor; return $this; } public function set_position($position) { $this->position = $position; return $this; } public function set_align($align) { $this->align = $align; return $this; } function __construct() { } /** * * @param type $pointer_id * @param type $pointer_anchor * @param type $pointer_title * @param type $pointer_content * @return \Basejump_Admin_Pointers */ static function factory($pointer_id,$pointer_anchor) { $factory = new Admin_Pointers; $factory->pointer_id = $pointer_id; $factory->pointer_anchor = $pointer_anchor; return $factory; } function add_pointer($pointer_title = null, $pointer_content = null) { if(isset($pointer_title)) $this->pointer_title = $pointer_title; if(isset($pointer_content)) $this->pointer_content = $pointer_content; add_action('admin_enqueue_scripts', array($this, 'scripts')); } function scripts() { if ($this->admin_pointers_check()) { wp_enqueue_script('wp-pointer'); wp_enqueue_style('wp-pointer'); add_action('admin_print_footer_scripts', array($this, 'admin_footer')); } } function admin_pointers_check() { $pointers = explode( ',', (string) get_user_meta( get_current_user_id(), 'dismissed_wp_pointers', true ) ); if(!in_array($this->pointer_id, $pointers)){ return true; } } function admin_footer() { $pointer_content = "

{$this->pointer_title}

{$this->pointer_content}

"; ?> {$this->pointer_title }"; $pointer_content .= "

{$this->poniter_content}

"; return array( $this->pointer_id . '_bj_new_items' => array( 'content' => $pointer_content, 'anchor_id' => $this->pointer_anchor, 'edge' => $this->position, 'align' => $this->align, 'active' => (!in_array($this->pointer_id . 'new_items', $dismissed)) ), ); } }