我有一个问题,用户上传大型图像。我用这个片段阻止了这一点。。。
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配置中提取这个值,有没有办法修改这个文本?
最合适的回答,由SO网友:Sumit 整理而成
此文本来自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
在显示文本之前进行筛选!