web-dev-qa-db-fra.com

Personnaliser la mise à jour du plugin "nouvelle version disponible" texte

Je cherche à personnaliser le "Une nouvelle version de XYZ est disponible." texte sur la page de liste des plugins. Je sais que le code est dans wp-admin/includes/update.php , mais je ne suis pas sûr de savoir comment appeler ceci ou le retirer dans un filtre/rappel. En gros, je veux pouvoir personnaliser ce message dans un plugin. Merci pour toute aide ou direction!

4
Zack

Le texte étant traité par la fonction _(), vous pouvez bien entendu le modifier à l’aide de 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 );
3
Krzysiek Dróżdż

Ce texte ne peut pas être filtré autant que je sache. Vous pouvez cependant ajouter du texte: https://developer.wordpress.org/reference/hooks/in_plugin_update_message-file/

0
Jory Hogeveen