web-dev-qa-db-ja.com

最大アップロードファイルサイズのテキストを変更する

大きな画像をアップロードするユーザーに問題があります。私はこのスニペットでこれを防ぎました...

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;

}

これはうまくいきますが、メディアアップロードページにはまだ「最大アップロードファイルサイズ:64 MB」というテキストが表示されます。

私はそれがサーバPHP configからこの値を取得すると思います、このテキストを修正する方法はありますか?

2
fightstarr20

このテキストの由来は wp-admin/includes/media.php#L1946

テキストを変更するために利用可能なフィルタはありません。それでもあなたが望むなら、テキストを修正するためにgettextフィルタを使うことができます。

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;
}

テキストが表示される直前にgettextフィルタを追加しています。

1
Sumit