个性化阅读
专注于IT技术分析

如何防止用户两次将同一文件上传WordPress

在我的WordPress网站中, 用户两次上传相同的图像文件并进行三次, 因此我的网站的磁盘空间超出了。

是否有任何选项可以防止用户一次又一次地上传相同的图像文件。


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

希望这对你有所帮助。

赞(0)
未经允许不得转载:srcmini » 如何防止用户两次将同一文件上传WordPress

评论 抢沙发

评论前必须登录!