如何在插件列表中显示有关更新的消息

时间:2013-02-15 作者:Vincent

我想用钩子in_plugin_update_message 以便在“管理插件列表”部分的“我的插件”名称下方显示一行消息。但是,钩子中调用的函数似乎没有触发:没有显示消息。

我不知道我做错了什么。

Building the hook

global $pagenow;
if ( \'plugins.php\' === $pagenow )
{
    $file   = basename( __FILE__ );
    $folder = basename( dirname( __FILE__ ) );
    $hook = "in_plugin_update_message-{$folder}/{$file}";
    add_action( $hook, \'your_update_message_cb\');
}

Callback function

function your_update_message_cb( $plugin_data, $r )
{
    echo \'Hello World\';
    $output = \'Hello World\';
    return print $output;
}
我应该使用另一个钩子还是代码中有错误?谢谢你的帮助

1 个回复
SO网友:brasofilo

代码问题:

无需检查$pagenow, 该操作只会在插件屏幕中启动。

该操作有两个参数,存在于回调函数中,但在操作声明中不存在。如果你有WP_DEBUG 启用后,您将看到通知。

动作钩doesn\'t return values, 你做你的事,就这样。

工作代码:

$file   = basename( __FILE__ );
$folder = basename( dirname( __FILE__ ) );
$hook = "in_plugin_update_message-{$folder}/{$file}";
add_action( $hook, \'your_update_message_cb\', 10, 2 ); // 10:priority, 2:arguments #

function your_update_message_cb( $plugin_data, $r )
{
    echo \'Hello World\';
}
当然,如果插件是inactive.

结束

相关推荐

hooks & filters and variables

我是updating the codex page example for action hooks, 在游戏中完成一些可重用的功能(最初是针对这里的一些Q@WA)。但后来我遇到了一个以前没有意识到的问题:在挂接到一个函数以修改变量的输出后,我再也无法决定是要回显输出还是只返回它。The Problem: 我可以修改传递给do_action 用回调函数钩住。使用变量修改/添加的所有内容仅在回调函数中可用,但在do_action 在原始函数内部调用。很高兴:我将其修改为一个工作示例,因此您可以将其复制/粘贴