cloudinary / cloudinary/cloudinary_wordpress

Cloudinary asset being replaced

未关闭
#1,241 1 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看
主要语言
PHP
星标
39
派生
36
平均合并
3 天 5 小时
30 天内合并 PR
27

描述

## Bug Description

PR [#1182](https://github.com/cloudinary/cloudinary_wordpress/pull/1182) causes Cloudinary assets to be overwritten when a new WordPress upload reuses the same filename.

WordPress only uniquifies filenames within the same month. If `test.jpg` is uploaded in April, Cloudinary creates public ID `test`. A second `test.jpg` in the same month is renamed to `test-1.jpg` (public ID `test-1`). A later upload of `test.jpg` in May keeps the original filename, so Cloudinary again gets public ID `test`.

After #1182, the plugin treats an existing public ID as a replacement and overwrites the original Cloudinary asset instead of creating a distinct one.

## Expected Behaviour

Uploading a new file with the same basename in a different month should not overwrite an existing Cloudinary asset. The plugin should generate a unique public ID (or otherwise treat it as a new asset), even when WordPress reuses the original filename.

## Steps to reproduce

1. Upload `test.jpg` to the WordPress Media Library in month A (e.g. April). Confirm it syncs to Cloudinary with public ID `test`.
2. Upload a different image also named `test.jpg` in the same month. Confirm WordPress renames it to `test-1.jpg` and Cloudinary uses public ID `test-1`.
3. Upload another different image named `test.jpg` in a later month (e.g. May). Confirm WordPress keeps the filename `test.jpg`.
4. Check the original Cloudinary asset with public ID `test`.
5. See that it has been overwritten by the May upload instead of remaining the April image.

## Screenshots

## Additional context

This is a regression from https://github.com/cloudinary/cloudinary_wordpress/pull/1182. The change detects an existing public ID and assumes a replacement, which is incorrect when WordPress reuses a filename across months.

- WordPress version:
- Plugin version:
- Gutenberg plugin version (if applicable):
- PHP version:
- Plugin settings:

贡献指南

这个仓库没有索引到贡献指南

调研方向

Start by reviewing PR #1182 and tracing the WordPress upload-to-Cloudinary sync path that handles an existing public ID. Reproduce the three-upload sequence from the issue, then verify that the April asset remains unchanged and the later upload receives a distinct identity.

由索引模型根据 Issue 内容生成。

评估

技术栈
php
领域
backend
Issue 类型
缺陷
难度
3/5
预计耗时
1-2 天
活跃度
活跃
描述清晰度
基本清楚
新手友好度
68/100

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。