WP_Admin_Bar::get_nodes()
Description Description
Return Return
(array|void)
Source Source
File: wp-includes/class-wp-admin-bar.php
final public function get_nodes() {
$nodes = $this->_get_nodes();
if ( ! $nodes ) {
return;
}
foreach ( $nodes as &$node ) {
$node = clone $node;
}
return $nodes;
}
Expand full source code Collapse full source code View on Trac
User Contributed Notes User Contributed Notes
You must log in before being able to contribute a note or feedback.
Add a Span Before the Title of All Toolbar Items
This example adds an empty span with the class “my-class” before every Toolbar item’s title. Put this in your theme’s functions.php file.
/** * Prefix top-level toolbar items with a span container. * * @param WP_Admin_Bar $wp_admin_bar Toolbar instance. */ function wpdocs_all_toolbar_nodes( $wp_admin_bar ) { $all_toolbar_nodes = $wp_admin_bar->get_nodes(); foreach ( $all_toolbar_nodes as $node ) { // use the same node's properties $args = $node; // put a span before the title $args->title = '<span class="my-class"></span>' . $node->title; // update the Toolbar node $wp_admin_bar->add_node( $args ); } } add_action( 'admin_bar_menu', 'wpdocs_all_toolbar_nodes', 999 );Expand full source codeCollapse full source code
Display all Node ID’s of the Current Page in the Toolbar
This example will add all node ID’s on the current page to a top-level Toolbar item called “Node ID’s”. This is for developers who want to find out what the node ID is for a specific node. Put this in your theme’s functions.php file.
// use 'wp_before_admin_bar_render' hook to also get nodes produced by plugins. add_action( 'wp_before_admin_bar_render', 'add_all_node_ids_to_toolbar' ); function add_all_node_ids_to_toolbar() { global $wp_admin_bar; $all_toolbar_nodes = $wp_admin_bar->get_nodes(); if ( $all_toolbar_nodes ) { // add a top-level Toolbar item called "Node Id's" to the Toolbar $args = array( 'id' => 'node_ids', 'title' => 'Node ID\'s' ); $wp_admin_bar->add_node( $args ); // add all current parent node id's to the top-level node. foreach ( $all_toolbar_nodes as $node ) { if ( isset($node->parent) && $node->parent ) { $args = array( 'id' => 'node_id_'.$node->id, // prefix id with "node_id_" to make it a unique id 'title' => $node->id, 'parent' => 'node_ids' // 'href' => $node->href, ); // add parent node to node "node_ids" $wp_admin_bar->add_node($args); } } // add all current Toolbar items to their parent node or to the top-level node foreach ( $all_toolbar_nodes as $node ) { $args = array( 'id' => 'node_id_'.$node->id, // prefix id with "node_id_" to make it a unique id 'title' => $node->id, // 'href' => $node->href, ); if ( isset($node->parent) && $node->parent ) { $args['parent'] = 'node_id_'.$node->parent; } else { $args['parent'] = 'node_ids'; } $wp_admin_bar->add_node($args); } } }Expand full source codeCollapse full source code