WordPress.org

Make WordPress Core

Opened 3 years ago

Closed 3 years ago

#40561 closed defect (bug) (duplicate)

Themes upload with an identical theme should provide a "Replace" prompt

Reported by: folletto Owned by:
Milestone: Priority: normal
Severity: normal Version:
Component: General Keywords:
Focuses: Cc:

Description

Uploading a theme with an "id" (folder name) identical to an existing one should ask the user if they want to "Replace" it or "Cancel" the operation.

The issue:

  1. A user uploading an existing theme is currently simply stopped with a fail message with no way forward: "Destination folder already exists." and "Theme install failed".
  2. To replace the theme, they have to go back manually, delete the theme, then re-upload. Which is basically the same as a prompt asking to replace.
  3. The above however isn't possible if the theme is an active theme: the user is thus forced to de-activate the theme first, which might mean losing customization settings in the process, and even more having a gap where the site looks bad.

Thus we should:

  • Introduce a "Do you want to replace the existing theme?" prompt.
  • Show which theme is about to be replaced.
  • Add an extra warning if it's an active theme (we should build the replacement of an active theme in a safe way, but as we know there's always a degree of uncertainty).
  • (ideally) A matching API to provide this functionality.

Attachments (1)

Screen Shot 2017-04-25 at 13.17.02.png (63.1 KB) - added by folletto 3 years ago.
Current "Fail" message (4.7.4)

Download all attachments as: .zip

Change History (4)

@folletto
3 years ago

Current "Fail" message (4.7.4)

#1 @swissspidy
3 years ago

Sounds like a duplicate of #9757 to me.

#2 @folletto
3 years ago

Yes!
I tried to look for "replace" but there it's being discussed as "update", so it didn't show up in my search.

Thank you!

#3 @swissspidy
3 years ago

  • Milestone Awaiting Review deleted
  • Resolution set to duplicate
  • Status changed from new to closed

Duplicate of #9757.

Note: See TracTickets for help on using tickets.