[Simple Payments]: Do not duplicate productId on block duplication #20064
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR is one possible solution to #12801. It relies on the addition of support for unique block attributes proposed in this (currently open) Gutenberg PR: WordPress/gutenberg#32604.
Fixes #12801
Changes proposed in this Pull Request:
When a Simple Payments block is duplicated, all of its attributes are copied including the
productId
. This causes the duplicated block to point to the same product resource under the covers -- so if the user then edits the duplicate and saves the post, the edits will (confusingly) be applied to both blocks. This PR resolves the problem by marking theproductId
attribute of the Simple Payments block asunique
so that it is not copied on block duplication.Now when the block is duplicated, all of its fields (price, title, description, etc) will be copied, but a new product is created on the backend. Edits to each block can be made individually.
Jetpack product discussion
Does this pull request change what data or activity we track or use?
Testing instructions:
productId
.