如何将链接添加到管理栏中的下拉用户菜单?

时间:2019-06-18 作者:Marc Woodyard

我需要在管理栏中添加指向下拉用户菜单的链接。是否有用于此的挂钩或函数?

WP admin bar user drop-down menu

2 个回复
最合适的回答,由SO网友:RiddleMeThis 整理而成

您要使用$wp_admin_bar->add_node( $args ).

下面是一个经过测试的工作示例。

function wpse_add_toolbar_edit($wp_admin_bar) { 
    $wp_admin_bar->add_node( array(
        \'id\'        => \'mylink\',
        \'title\' => \'My New Link\',
        \'href\' => \'mailto:[email protected]\',
        \'parent\' => \'user-actions\'
    ) );
}

add_action(\'admin_bar_menu\', \'wpse_add_toolbar_edit\', 999);
注:该parent param将链接添加到现有ID。如果需要找到正确的ID将新链接添加到,可以var_dump($wp_admin_bar); 并查看输出以查找正确的ID。

SO网友:Jaskaran Singh

按照以下步骤添加注销和编辑我的个人资料之间的链接

1。删除默认注销节点

$wp_admin_bar->remove_node( \'logout\' );

2。添加要在注销和编辑我的个人资料之间放置的链接

$wp_admin_bar->add_node([
    \'id\'        => \'link-id\',
    \'title\' => \'Link Title\',
    \'href\' => get_site_url(null, \'site-path\'),
    \'parent\' => \'user-actions\'
]);

3。使用以下命令将注销节点添加回列表:

$wp_admin_bar->add_node([
    \'id\'        => \'logout\',
    \'title\' => \'Log Out\',
    \'href\' => wp_logout_url(),
    \'parent\' => \'user-actions\'
]);
只是操纵了上述函数,以便在注销和配置文件之间插入链接。

最终代码:

 add_action( \'admin_bar_menu\', \'adjust_admin_menu_bar_items\' , 999);
 function adjust_admin_menu_bar_items ($wp_admin_bar) {
   $user = wp_get_current_user();

   $wp_admin_bar->add_node([
     \'id\'        => \'link-id\',
     \'title\' => \'Link Title\',
     \'href\' => get_site_url(null, \'site-path\'),
     \'parent\' => \'user-actions\'
   ]);

   $wp_admin_bar->add_node([
     \'id\'        => \'logout\',
     \'title\' => \'Log Out\',
     \'href\' => wp_logout_url(),
     \'parent\' => \'user-actions\'
   ]);
 }
希望这会有所帮助。:)