public static function enqueue_scripts($hook_suffix) { self::$pointers = apply_filters('hackrepair_plugin_archiver_pointers', self::$pointers); // Check if screen related pointer is registered if (empty(self::$pointers[$hook_suffix])) { return; } $pointers = (array) self::$pointers[$hook_suffix]; // Get dismissed pointers $dismissed = explode(',', (string) get_user_meta(get_current_user_id(), 'dismissed_wp_pointers', true)); $got_pointers = false; foreach ($pointers as $key => $pointer) { if (in_array($key, $dismissed)) { continue; } if (isset($pointer['caps'])) { foreach ($pointer['caps'] as $cap) { if (!current_user_can($cap)) { continue 2; } } } $callback = is_callable($pointer['callback']) ? $pointer['callback'] : array('HackRepair_Plugin_Archiver_Pointer', $pointer['callback']); add_action('admin_print_footer_scripts', $callback); $got_pointers = true; } if (!$got_pointers) { return; } // Add pointers script and style to queue wp_enqueue_style('wp-pointer'); wp_enqueue_script('wp-pointer'); }
public static function pointer_content() { $content = '<h3>' . __('Pick active plugin archive', 'hackrepair-plugin-archiver') . '</h3>'; $content .= '<p>' . __('Choose the active plugin archive directory.', 'hackrepair-plugin-archiver') . '</p>'; HackRepair_Plugin_Archiver_Pointer::print_js('test3', 'ul.subsubsub', array('content' => $content, 'position' => array('edge' => 'top', 'align' => 'left'))); }