显示更新通知消息,如‘新增内容’

时间:2014-01-11 作者:EHerman

我即将推出插件的新更新。我使用了一些仅适用于WordPress 3.8的函数,这很好,因为我想支持最新版本。

在用户更新插件之前,我应该如何向用户显示一条消息,其中列出了插件的新增功能,或者只是一条一般性警告,即运行最新版本的插件需要WordPress 3.8?

我已经附上了一个截图,我想在哪里显示的消息。这是根据您在readme.txt 在行李箱里?

enter image description here

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

你可以加入in_plugin_update_message-{$file}.

对于上述插件,相应的代码如下所示:

add_action(\'admin_menu\', array($this,\'admin_menu\'), 11);
function admin_menu()
{
    global $pagenow;

    if( $pagenow == \'plugins.php\' )
    {
        $hook = apply_filters(\'acf/get_info\', \'hook\');

        add_action( \'in_plugin_update_message-\' . $hook, array($this, \'in_plugin_update_message\'), 10, 2 );
    }
}

function in_plugin_update_message( $plugin_data, $r )
{
    $version = apply_filters(\'acf/get_info\', \'version\');
    $readme = wp_remote_fopen( \'http://plugins.svn.wordpress.org/advanced-custom-fields/trunk/readme.txt\' );
    $regexp = \'/== Changelog ==(.*)= \' . $version . \' =/sm\';
    $o = \'\';

    if( !$readme )
    {
        return;
    }

    preg_match( $regexp, $readme, $matches );

    if( ! isset($matches[1]) )
    {
        return;
    }

    $changelog = explode(\'*\', $matches[1]);
    array_shift( $changelog );

    if( !empty($changelog) )
    {
        $o .= \'<div class="acf-plugin-update-info">\';
        $o .= \'<h3>\' . __("What\'s new", \'acf\') . \'</h3>\';
        $o .= \'<ul>\';

        foreach( $changelog as $item )
        {
            $item = explode(\'http\', $item);

            $o .= \'<li>\' . $item[0];

            if( isset($item[1]) )
            {
                $o .= \'<a href="http\' . $item[1] . \'" target="_blank">\' . __("credits",\'acf\') . \'</a>\';
            }

            $o .= \'</li>\';


        }

        $o .= \'</ul></div>\';
    }

    echo $o;
}
广告:Here 我是如何为我参与的插件做到这一点的

结束

相关推荐

WordPress在子目录wp-admin中出现问题

我在网站的子目录中安装了WordPress 3.3.1,用作临时测试站点。似乎是根站点.htaccess 正在为Wordpress wp管理页创建问题。我已经设置了WordPress Address (URL) 和Site Address (URL) 正确指向子目录url。如果我没有.htaccess 在我的子目录内(wp root)=wp admin(登录页)工作。如果我添加.htaccess 如下图所示,该页面可以正常工作,如果您登录到wp admin,则可以正常工作BUT 每次尝试保存内容时=空白页