I'm looking to customize the "There is a new version of XYZ available." text on the Plugins list page. I know the code is in wp-admin/includes/update.php, however I'm not certain how to call this out or pull it out in a filter/callback. Basically, I want to be able to customize this message in a plugin. Thanks for any help or direction!
2 Answers
Since the text is processed by _()
function, then, of course, you can modify it using gettext
filter.
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 );
This text can't be filtered afaik. You can append text though: https://developer.wordpress.org/reference/hooks/in_plugin_update_message-file/
gettext