This has been bothering me for some time now, and I saw Ryan Imel tweet something while I was out a few days back. So I favored it and finally got to download his plugin.
After downloading plugin I noticed some of the scripts were not loading properly, so I quickly rewrote his plugin into a small class.
Super awesome!! That always bothered me. I don’t know why I didn’t think of this first.
You had some issues with it loading the proper files. So I quickly rewrote it for my own use, have a look and see if you’d like to apply the changes before you push to SVN.
My version – you still need his files
add_action( 'plugins_loaded', 'admin_bar_hover_activate' ); function admin_bar_hover_activate() { $hover = new Admin_Bar_Hover_Intent(); } if ( !class_exists( 'Admin_Bar_Hover_Intent' ) ) { class Admin_Bar_Hover_Intent { const version = '0.1'; function Admin_Bar_Hover_Intent() { $this->__construct(); } function __construct() { add_action( 'wp_print_scripts', array( __CLASS__ , 'enqueue_scripts' ) ); add_action( 'init', array( __CLASS__ , 'enqueue_style' ) ); } function enqueue_scripts() { if ( is_admin_bar_showing() ) { wp_enqueue_script( 'jquery' ); wp_enqueue_script( 'hoverintent', esc_url( plugins_url( 'hoverintent.min.js', __FILE__ ) ), array( 'jquery' ), '1.0', true ); wp_enqueue_script( 'rwi-adminbar-scripts', esc_url( plugins_url( 'rwi-adminbar-scripts.js', __FILE__ ) ), array( 'jquery' ), Admin_Bar_Hover_Intent::version, true ); } } function enqueue_style() { if ( is_admin_bar_showing() ) wp_enqueue_style( 'rwi-adminbar', esc_url( plugins_url( 'rwi-adminbar.css', __FILE__ ) ), null, Admin_Bar_Hover_Intent::version, 'screen' ); } } };
Just replace the text inside rwi-adminbar-hoverintent.php
with the above code.
Thanks for the help Austin, much better than what I had. Updated version is in the directory now, too: http://wordpress.org/extend/plugins/admin-bar-hover-intent/
Could this be used for the regular wordpress menu?
Yes, just change the appropriate class names.