web-dev-qa-db-fra.com

Modifier le texte de la taille maximale du fichier de téléchargement

J'ai un problème avec l'utilisateur qui télécharge de grandes images. J'ai empêché cela avec cet extrait ...

add_filter('wp_handle_upload_prefilter', 'f711_image_size_prevent');
function f711_image_size_prevent($file) {
    $size = $file['size'];
    $size = $size / 1024; // Calculate down to KB
    $type = $file['type'];
    $is_image = strpos($type, 'image');
    $limit = 5000; // Your Filesize in KB

    if ( ( $size > $limit ) && ($is_image !== false) ) {
        $file['error'] = 'Image files must be smaller than '.$limit.'KB';
    }

    return $file;

}

Cela fonctionne très bien, mais la page de téléchargement de média affiche toujours un texte disant "Taille maximale du fichier de téléchargement: 64 Mo"

Je suppose qu'il extrait cette valeur des serveurs PHP config, existe-t-il un moyen de modifier ce texte?

2
fightstarr20

Ce texte provient de wp-admin/includes/media.php#L1946

Il n'y a pas de filtre disponible pour modifier le texte. Mais si vous le souhaitez, vous pouvez utiliser le filtre gettext pour modifier le texte.

add_action('post-html-upload-ui', function () {
    add_filter('gettext', 'media_upload_limit_custom_text');
});
/**
 * Customize the max media size text
 * @param string $text
 * @return string $text
 */
function media_upload_limit_custom_text($text) {
    if ($text == 'Maximum upload file size: %s.') {
        return __('Image files must be smaller than 5000 KB', 'your-text-domain');
    }
    return $text;
}

Nous ajoutons le filtre gettext juste avant l'affichage de notre texte!

1
Sumit