自定义插件更新“新版本可用”文本

时间:2018-12-26 作者:Zack

我希望自定义“有一个新版本的XYZ可用”插件列表页面上的文本。我知道密码在里面wp-admin/includes/update.php, 然而,我不确定如何调用它或在过滤器/回调中拉出它。基本上,我希望能够在插件中自定义此消息。感谢您的帮助或指导!

2 个回复
最合适的回答,由SO网友:Krzysiek Dróżdż 整理而成

因为文本由_() 当然,您可以使用gettext 滤器

function change_update_notification_msg( $translated_text, $untranslated_text, $domain ) 
{

    if ( is_admin() ) {
        $texts = array(
            \'There is a new version of %1$s available. <a href="%2$s" %3$s>View version %4$s details</a>.\' => \'My custom notification. There is a new version of %1$s available. <a href="%2$s" %3$s>View version %4$s details</a>.\',
            \'There is a new version of %1$s available. <a href="%2$s" %3$s>View version %4$s details</a>. <em>Automatic update is unavailable for this theme.</em>\' => \'My custom notification. There is a new version of %1$s available. <a href="%2$s" %3$s>View version %4$s details</a>. <em>Automatic update is unavailable for this theme.</em>\',
            \'There is a new version of %1$s available. <a href="%2$s" %3$s>View version %4$s details</a> or <a href="%5$s" %6$s>update now</a>.\' => \'My custom notification. There is a new version of %1$s available. <a href="%2$s" %3$s>View version %4$s details</a> or <a href="%5$s" %6$s>update now</a>.\'
        );

        if ( array_key_exists( $untranslated_text, $texts ) ) {
            return $texts[$untranslated_text];
        }
    }

    return $translated_text;
}
add_filter( \'gettext\', \'change_update_notification_msg\', 20, 3 );

SO网友:Jory Hogeveen

无法立即筛选此文本。您可以通过以下方式附加文本:https://developer.wordpress.org/reference/hooks/in_plugin_update_message-file/

相关推荐

Testing Plugins for Multisite

我最近发布了一个WordPress插件,它在单个站点上非常有效。我被告知该插件在多站点安装上不能正常工作,我理解其中的一些原因。我已经更新了代码,现在需要一种方法来测试更新后的代码,然后才能转到实时客户的多站点安装。我有一个用于测试的WordPress安装程序的单站点安装,但需要在多站点安装上进行测试。根据我所能找到的唯一方法是在网络上至少有两个站点来安装整个多站点安装,以测试我的插件。设置WordPress的整个多站点安装是插件开发人员的唯一/首选方式,还是有更快的测试环境可用。