管理栏中的插件更新列表

时间:2016-05-27 作者:cjbj

在管理栏中,有一个图标会告诉您是否有插件更新。每当您将鼠标悬停在它上方时,它都会显示类似“1插件更新”的内容。你必须点击它才能进入更新页面,在那里你会看到哪个插件需要更新。

我懒得做那件事。我想有一个插件的列表,需要在图标的标题标签更新。这将给我一个关于更新有多重要的线索(是的,我知道我应该一直更新所有插件,但我更喜欢优先考虑安全插件,比如SEO)。

所以我想知道的是:

1如何访问可用更新列表?

2如何将此信息传递到管理栏中的更新图标?

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

下面是提取更新插件信息的代码get_plugin_updates 并从返回的对象中获取一些信息,遗憾的是,这些对象不包含变更日志信息。在管理栏中为每个可用更新创建一个节点。

我想我可以将其扩展为一个插件,如果有人感兴趣,还可以列出核心、主题和翻译更新。

add_action( \'admin_bar_menu\', \'wpse_228026_toolbar_show_updates\', 999 );

function wpse_228026_toolbar_show_updates ($wp_admin_bar) {
    if (!function_exists(\'get_plugin_updates\')) require_once ABSPATH . \'wp-admin/includes/update.php\';
    $plugin_updates = get_plugin_updates();
    foreach ($plugin_updates as $update) {
        $args = array(
            \'id\'            => $update->update->slug,
            \'title\'         => \'Plugin update: \' . $update->Name,
            \'parent\'        => \'updates\',
            \'meta\'          => array( 
                                \'class\' => \'update-available \' . $update->update->slug,
                                \'title\' => \'Current version: \' . $update->Version . \' | \' . \'New version: \' . $update->update->new_version)
            );
        $wp_admin_bar->add_node( $args );
        }
    }