-
-
Save franz-josef-kaiser/2237680 to your computer and use it in GitHub Desktop.
<?php | |
/** | |
* Plugin Name: "Hide Admin Bar"-Button | |
* Plugin URI: http://unserkaiser.com | |
* Description: Easier debugging when the error message is hidden behind the admin bar. | |
* Version: 0.1 | |
* Author: Franz Josef Kaiser | |
* Author URI: http://unserkaiser.com | |
*/ | |
// Prevent loading this file directly - Busted! | |
! defined( 'ABSPATH' ) AND exit; | |
/** | |
* Adds a button to the admin bar to allow collapsing the admin bar | |
* Else some error messages that are output in the html <head> can not be read | |
* | |
* @version 0.3 | |
* | |
* @return void | |
*/ | |
function oxo_admin_bar_extd() | |
{ | |
global $wp_admin_bar; | |
if ( ! is_admin_bar_showing() ) | |
return; | |
// YOU HAVE TO ADJUST THIS TO FIT YOUR THEME | |
$title = '<div style="cursor: pointer; margin-bottom: 0;">⇐<div></div></div>'; | |
is_admin() AND $title = '<div id="collapse-button" class="ab-icon" style="cursor: pointer; margin-bottom: 0;"><div></div></div>'; | |
$wp_admin_bar->add_node( array( | |
'id' => 'collapse' | |
,'title' => $title | |
,'parent' => false | |
,'meta' => array( | |
'title' => 'collapse' | |
) | |
) ); | |
// Add the scripts | |
add_action( 'admin_footer', 'oxo_admin_bar_extd_cb', 9999 ); | |
} | |
add_action( 'admin_bar_menu', 'oxo_admin_bar_extd' ); | |
/** | |
* Callback that builds the needed script for the admin bar button | |
* | |
* @since 0.3 | |
* | |
* @return void | |
*/ | |
function oxo_admin_bar_extd_cb() | |
{ | |
?> | |
<script type="text/javascript"> | |
jQuery( document ).ready( function($) | |
{ | |
clicked = 0; | |
$( '#wp-admin-bar-collapse div' ).click( function() | |
{ | |
if ( 0 == clicked ) { | |
clicked = 1; | |
$( '#wpadminbar' ).animate( { width: 35 }, 0 ); | |
$( '#wpadminbar' ).css( 'min-width', 35 ); | |
$( '#wp-admin-bar-root-default' ).children().not( '#wp-admin-bar-collapse' ).hide(); | |
$( '#wp-admin-bar-top-secondary' ).hide(); | |
} else { | |
clicked = 0; | |
$( '#wpadminbar' ).animate( { width: '100%' }, 0 ); | |
$( '#wpadminbar' ).css( 'min-width', 600 ); | |
$( '#wp-admin-bar-root-default' ).children().not( '#wp-admin-bar-collapse' ).show(); | |
$( '#wp-admin-bar-top-secondary' ).show(); | |
} | |
} ); | |
} ); | |
</script> | |
<?php | |
} |
@cliffordp It can't work on the front end. The error is taken from the admin menu to save loading time and therefore isn't present on the front-end.
Well then it works. :)
Except on the front-end Admin Bar there becomes a blank area, as if the arrow should be showing up there, but it doesn't.
Personally, I'd want it to show up in both the wp-admin area and the front-end, but thanks for sharing what you have! :)
@cliffordp I adjusted some stuff. Try it now. If it doesn't work, then just take a look at the // YOU HAVE TO ADJUST THIS TO FIT YOUR THEME
comment. If you find a solution that calls in the button sprite (search the path, incl. as <img
) and include the necessary css, then please leave a comment here, so I can add it. Thanks.
I added to my theme's functions.php and the back-end worked. On the front-end, I saw the ⇐ but it didn't do anything when clicked. Suggestions? Or email me direct at "tko" [at] "tourkick.com"
@cliffordp Sry, but conversation has to stay here as it's a public gist for a reason: I host my small plugins here for everyone.
I totally understand keeping the info public, but if you needed/wanted my website info, I wouldn't want to post it here - that's all... Obviously, once it's figured out / fixed, your code would be updated for all to enjoy. :)
It worked well within /wp-admin/ area, but not on the front-end (the arrow didn't even show up). I turned off other plugins that affected WP Admin Bar too. However, I do have WP Engine hosting, which adds stuff to WP Admin Bar that my plugin (which I tested both active and inactive) chooses to hide. Wish it worked on the front-end, but thanks for the code anyways.
-Cliff