You might have upgraded to the latest WordPress 3.4.2.This latest version does show an admin bar above when logged in to your wordpress dashboard as admin or author for your blog. There are some quick links listed to get quick access to your wordpress dashboard options without moving within dashboard. This is very handy admin bar to rapidly hover around your main site and admin area. This admin bar can also be customized which cripples its worth.
Here I will provide your some hacks to customize your wordpress admin bar for your subscribers or authors to be shown exactly you want. WordPress has not provided any options to customize this bar, that is, you cannot add or remove any links. But there are still ways to do so by creating functions. Here I will show, how you can customize the Admin bar the way you want.
Change the
Here I will provide your some hacks to customize your wordpress admin bar for your subscribers or authors to be shown exactly you want. WordPress has not provided any options to customize this bar, that is, you cannot add or remove any links. But there are still ways to do so by creating functions. Here I will show, how you can customize the Admin bar the way you want.
Remove Existing Admin Bar Links
You can easily remove any and all links that are found by default on the Admin bar. In this example, I have removed the WordPress logo and Updates link. Go to functions.php file in wordpress theme directory and add this code anywhere.function remove_admin_bar_links() { global $wp_admin_bar; $wp_admin_bar->remove_menu('wp-logo'); $wp_admin_bar->remove_menu('updates'); } add_action( 'wp_before_admin_bar_render', 'remove_admin_bar_links' );
IDs for other top links:
wp-logo:
WordPress logomy-account
: Links to your account. The ID depends upon if you have avatar enabled or not.site-name
: Site name with other dashboard itemsmy-sites
: My Sites menu, if you have more than one siteget-shortlink
: Shortlink to a page/postedit
: Post/Page/Category/Tag edit linknew-content
: Add New menucomments
: Comments linkupdates
: Updates linksearch
: Search boxuser-info
: Links to username and login id with Avatar in my account menu
Hide Admin Bar for non-admins
As we may need to do not redirect subscribers or authors to dashboard area we can then remove all the links and replace with our own links and redirection. We can simply hide wordpress default admin links and replace them with our own front end links to our custom front end login page templates for authors or subscribers. In the same
functions.php
file we can update above code like this:if (!is_admin() && is_user_logged_in()) { add_filter('show_admin_bar', '__return_true'); function admin_bar_render() { global $wp_admin_bar; // Remove Individual Admin bar items $wp_admin_bar->remove_menu('comments'); $wp_admin_bar->remove_menu('dashboard'); $wp_admin_bar->remove_menu('site-name'); $wp_admin_bar->remove_menu('new-content'); // Completely Removes '+ New' $wp_admin_bar->remove_menu('new-post'); $wp_admin_bar->remove_menu('new-media'); $wp_admin_bar->remove_menu('wp-logo'); $wp_admin_bar->remove_node('user-info'); // My Account Menu Item Redirects to Frontend Dashboard $my_account_menu = $wp_admin_bar->get_node('my-account'); $account_href = get_option('siteurl') . '/members-dashboard/'; $my_account_menu->href = $account_href; $wp_admin_bar->add_menu($my_account_menu); // Eidt Profile Menu Item Redirects to Frontend Profile Edit $edit_profile_menu = $wp_admin_bar->get_node('edit-profile'); $profile_href = get_option('siteurl') . '/profile/'; $edit_profile_menu->href = $profile_href; $wp_admin_bar->add_menu($edit_profile_menu); // Logout Redirect to Frontend Login Page $logout_menu = $wp_admin_bar->get_node('logout'); $logout_href = wp_logout_url( home_url('/login') ); $logout_menu->href = $logout_href; $wp_admin_bar->add_menu($logout_menu); } add_action( 'wp_before_admin_bar_render', 'admin_bar_render' );
This will then be shown like this:
To add a new custom link on the WordPress admin bar, drop the following function in your theme’s
User Front End Area |
Add Single Links on the Admin Bar
functions.php
file.function add_sumtips_admin_bar_link() {
global $wp_admin_bar;
if ( !is_super_admin() || !is_admin_bar_showing() )
return;
$wp_admin_bar->add_menu( array( 'id' => 'sumtips_link',
'title' => __( 'SumTips Menu'),
'href' => __('http://sumtips.com'), ) );
}
add_action('admin_bar_menu', 'add_sumtips_admin_bar_link',25);
Change the
id
, title
and href
value with your own.