我正在使用Amazon S3存储我的产品图像。这意味着在产品发布时,无需将它们保留在我的WordPress服务器上。 在我用来自动上传图片(以及用于imgix)的Media Cloud插件中,该设置可以在上传后立即删除图片。
由于必须在图像和产品元数据上执行某些映射作业,因此我必须将其关闭。完成映射和发布后,图像文件可能会被删除。
我已经使用以下代码尝试过:
$post_id = get_the_ID();
$post_thumbnail_id = get_post_thumbnail_id( $post_id );
wp_delete_file($post_thumbnail_id);
,但是它不起作用。有一个500白屏。该怎么办...?
答案 0 :(得分:0)
我通过使用以下代码来完成这项工作:
// Delete the file from WordPress server after processing.
$filename_only = wp_basename( get_attached_file( $post_thumbnail_id ) );
$upload_dir = wp_upload_dir();
$dir = $upload_dir['basedir'] .'/'. date('Y') . '/' . date ('m');
$file = $dir . '/' . $filename_only;
if ( ! empty ($file)){
chdir($dir);
unlink($filename_only);
}
我先获取了文件名和上传目录。然后,我检查了目录中是否存在该文件,如果存在,则将工作目录更改为本地上载目录并删除该文件。