在我的WordPress网站中,用户两次上传相同的图像文件并进行了三次处理,因此我的网站的磁盘空间超出了。
是否有阻止用户一次又一次上传同一图像文件的选项??
答案 0 :(得分:1)
我有同样的问题。我没有添加任何验证,而是在过滤器挂钩后添加了替换图像的过滤器挂钩,如果已经存在具有相同名称的图像。将此代码添加到您的 functions.php 文件
add_filter( 'sanitize_file_name', 'replace_image_if_same_exists', 10, 1 );
function replace_image_if_same_exists( $name )
{
$args = array(
'numberposts' => -1,
'post_type' => 'attachment',
'meta_query' => array(
array(
'key' => '_wp_attached_file',
'value' => $name,
'compare' => 'LIKE'
)
)
);
$attachments_to_remove = get_posts( $args );
foreach( $attachments_to_remove as $attach )
wp_delete_attachment( $attach->ID, true );
return $name;
}
希望这对您有所帮助。