如何从带参数的插件创建管理通知?

时间:2013-06-09 作者:corentino

我正在编写一个自定义插件,以便在特定时间执行一些操作。我正在玩add\\u action和add\\u filter,但我当前的任务是将帖子url发布到Twitter帐户。问题是,我想将twitter API HTTP响应显示为管理员通知(Codex of Admin Notice) 但我完全迷路了。

以下是我的代码逻辑:


function Twit_the_url( $post_ID )  
{
    //connect to twitter api

    //send tweet with url

    //get twitter response

    //send response to admin notice :
    add_action(\'admin_notices\', create_function( "", "echo \\"

$httpstatus

\\";" ) ); return $post_ID; } add_action( \'publish_post\', \'Twit_the_url\');
一切都很顺利,直到我打电话通知管理员。推文已创建,$httpstatus存在,但未显示我的消息!我一直在四处寻找提示和操作方法,但我不明白为什么它不起作用。我查看了两个不同的插件,看看它们是如何做到的,但没有任何改变。

所以如果有人能告诉我哪里错了,那就太好了!谢谢

1 个回复
SO网友:chrisguitarguy

这将是PHP 5.3+anonymous functions.

闭包示例:

<?php
function Twit_the_url( $post_ID )  
{
    //connect to twitter api

    //send tweet with url

    //get twitter response

    //send response to admin notice :
    add_action(\'admin_notices\', function() use ($httpstatus) {
        echo \'<div class="error"><p>\', esc_html($httpstatus), \'</p></div>\';
    });

    return $post_ID;
}
add_action( \'publish_post\', \'Twit_the_url\');
或者,您可以将Twit_the_urladmin_notices 回调到类中并使用类属性。

结束

相关推荐

为什么ADMIN_NOTICES没有显示我的文本?[简单插件,初学者]

下面是四天学习Wordpress和PHP的结果。不幸的是,它没有按预期的方式工作。admin\\u通知栏上不显示任何内容。起初,我以为是$filename = is_plugin_active($filename) ? \"$filename: Active\" : \"$filename: Disabled\"; 线路,但这不是问题所在。你怎么说?function show_names() { $paths = array();