问题描述

我刚刚安装了 Yoast SEO 插件,注意到一旦插件被激活,就会在管理栏中添加一个新的弹出菜单。

任何人都知道有没有一个教程或示例如何做到这一点?

最佳解决方案

动作钩 admin_bar_menu 做这个工作。这是核心文件中的注释:

It includes the action “admin_bar_menu” which should be used to hook in and add new menus to the admin bar. That way you can be sure that you are adding at most optimal point, right before the admin bar is rendered. This also gives you access to the $post global, among others.

用法:

add_action('admin_bar_menu', 'add_items');

function add_items($admin_bar)
{
//echo "<pre>";
//print_r($admin_bar);
//echo "<pre>";

$admin_bar->add_menu( array(
    'id'    => 'my-item',
            'parent' => 'top-secondary',
    'title' => 'My Item',
    'href'  => '#',
    'meta'  => array(
        'title' => __('My Item'),
    ),
) );
}

你必须调整一下,因为这个代码将新的项目添加到最左边!我认为检查 $admin_bar 变量应该给你一个如何添加一个项目的想法。

更新:'parent' => 'top-secondary'将项目添加到’Howdy…’ 的左侧!所以我敢打赌还有其他这样的位置值。我正在找他们;)

更新 2:'parent' => 'new-content'将项目添加到 New > Post, Media 等菜单中。

更新 3:'parent' => 'wp-logo-external'添加从左侧 WordPress 徽标弹出的菜单中的项目。

更新:

我已经写了一个 blog post 与所有可能的位置在管理员菜单中的新项目… 如果有兴趣请 read here

参考文献

注:本文内容整合自 Google/Baidu/Bing 辅助翻译的英文资料结果。如果您对结果不满意,可以加入我们改善翻译效果:薇晓朵技术论坛。