Codeinwp / Codeinwp/woocommerce-product-addon
Paired-option editor labels option identifiers as Image ID
@selul is already working on this.
Since Sep 9, 2026.
- Dominant language
- PHP
- Stars
- 15
- Forks
- 9
- Avg merge
- 3d 17h
- Merged PRs (30d)
- 16
Description
Summary
In the React field editor, select, radio, and checkbox option rows present their identifier control as Image ID. The control is expected to describe the value it stores, but it stores a unique option identifier rather than an image attachment association. Entering an attachment ID therefore does not produce image behavior, which can lead merchants to configure unusable options.
Customer context
Product / area: PPOM for WooCommerce, React field editor
Version: 34.0.9
Environment: WordPress and WooCommerce versions not provided; the React editor is an opt-in beta path
Integration / third party: Not provided
Reported error / symptom: image id not works
Impact: The plugin was deactivated after two days because the merchant could not get the field configuration to work.
Reproduction notes
Reported workflow details are sparse. Source-backed reproduction path: enable the React field modal in PPOM 34.0.9, edit a select, radio, or checkbox field, enter a WordPress attachment ID in the option-row control labeled Image ID, save the field group, and inspect the storefront. A runtime reproduction was not performed; the source shows that the entered value is stored as the option id, not as image metadata.
Diagnosis
Conclusion
The v34.0.9 React paired-options editor presents the id property as Image ID for select, radio, and checkbox variants. Repository evidence establishes that this property is the option identifier: the classic editor calls the equivalent control Unique Option ID, while only the switcher variant has a separate image property. This directly explains why an attachment ID entered into the reported control does not create image behavior.
Where this likely occurs
- React field modal:
packages/admin/field-modal/src/components/paired-options/PairedOptionRowItem.tsx—PairedOptionRowItem()lines 212–225 labels the controlImage IDfor non-switcher variants but reads and writesrow.id. - React field modal:
packages/admin/field-modal/src/components/paired-options/SwitcherOptionFields.tsx—SwitcherOptionFields()lines 12–27 separately binds the actual switcher image control torow.image. - React field modal:
packages/admin/field-modal/src/utils/pairedOptionsData.ts—emptyPairedOptionRow()lines 28–45 initializesidfor every option and addsimageonly for switchers. - Classic editor comparison:
classes/fields.class.php— paired-options rendering lines 637–666 presents the sameidvalue asUnique Option ID. - The behavior is present in tag
v34.0.9(9b1e339) and traces to the React field-modal work in commit34742e0. No earlier working release boundary was identified.
Engineering notes
The affected React modal is disabled by default and is enabled through its constant, query flag, or filter. The classic editor does not have the misleading label. The inspected contract distinguishes an option identifier from the switcher image value; no storefront image-rendering contract exists for ordinary select, radio, or checkbox paired options in this path.
Test coverage status
No relevant unit, integration, or end-to-end coverage for the paired-option identifier label or value contract was found during inspection. The field-modal test search did not find a focused paired-options test.
What to verify or explore next
- May be worth reproducing in
v34.0.9with the React modal enabled for select, radio, and checkbox fields. - May be worth confirming the saved payload and storefront result after entering a media attachment ID in the displayed
Image IDcontrol. - The switcher variant and classic editor can provide compatibility comparisons for the same release.
Unknowns / follow-up
The feedback does not state which field type was edited or how the beta React modal was enabled. No runtime reproduction accompanied the uninstall submission.
Confidence
Confidence: 92/100
The v34.0.9 source contains an exact, internally inconsistent Image ID label in the beta React paired-options editor, while the reported cross-field combination could not be substantiated from the available code or tests.
Source: automated uninstall feedback — woocommerce-product-addon, 2026-09-08
Generated by bug-report-triage (ID: bug-report-triage_6aa0e8460b7bb7.71183925)
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.