PPOM – Product Addons & Custom Fields for WooCommerce
by Themeisle · eCommerce
Also makes 26 other plugins · 1.8M+ installs across the portfolio →
Easily add a range of custom fields to WooCommerce products, from text boxes to date selectors, allowing customers to personalize their orders.
Try it live opens a temporary test site in your browser, which can take about 20 seconds to load. Plugins that rely on outside services or a full server may not work completely there.
Health
A 86/100
no flags
Active installs
20K+
≈29K estimated
Momentum
+69%
downloads vs prior 30d
Biggest opportunity: Swap “custom fields” and “woocommerce product options” for “personalize” and “woocommerce addon”. “custom fields” isn't earning its slot: it only gets you to #18. “personalize” sits at #7 untagged, close enough for a declared tag to move it up. “woocommerce product options” isn't earning its slot: it only gets you to #12. “woocommerce addon” sits at #7 untagged, close enough for a declared tag to move it up. All five slots are taken, so one has to go.
86 health vs 71 average across 9,767 eCommerce plugins
Install conversion
How it's measured →1.3%
of downloads still active
At least 20K of 1.6M lifetime downloads are still running, in line with its category: the median eCommerce plugin keeps 1.4%, across 5,154 plugins.
Downloads count every update, not just first installs, so older and more frequently released plugins read lower. Compare against other eCommerce plugins, not across the directory. wp.org reports active installs as the bottom of a band, so the real rate is this or higher.
This plugin shipped 15 releases in the last 12 months, and every existing install that updated counted as another download. wp.org publishes no split between first installs and updates, so we show the raw rate rather than guess at one.
Details
Directory ranking optimization
How it's scored →How well this listing is tuned to rank in WordPress.org search, on the factors an owner controls. Not popularity, optimization.
Excellent listing optimization
Most to gain: Support resolution
Updated 10 days ago
Tested up to WordPress 7.1.4, the current branch or newer
4.5★ over 283 reviews, smoothed to 4.44★
5 of 5 tags set · short description in place
1 of 2 support threads resolved in the last 2 months
To rank higher: Mark more forum threads resolved — the resolved ratio feeds the ranking.
Get the full rank-higher report →Search visibility
How it's tracked →Directory searches this plugin turns up in, and which way each one is moving. WordPress.org publishes no history of search positions, so this starts the day we first tracked a keyword and never backfills.
50
Momentum
Holding steady
-0.1
Velocity
places per keyword, 28d
39%
Breadth
of keywords climbing, 28d
+3.0
Acceleration
recent half vs earlier
wp.org is where the directory puts the plugin for that search. On merit is where it would sit if results were ranked on rating, support and updates, without the install boost. The last column is how far the wp.org position moved, from our first reading in the last 90 days to the latest.
| Keyword | wp.org | On merit | wp.org move, 90 days |
|---|---|---|---|
| product personalization | #3 | #2 | 0 |
| woocommerce product inquiry | #2 | #1 | up 2 |
| personalize | #7 | #8 | down 2 |
| product inquiry | #5 | #5 | up 1 |
| product availability | #6 | #7 | up 2 |
| woocommerce product addons your tag | #10 | #14 | down 3 |
| variable products your tag | #10 | #8 | down 2 |
| product addons your tag | #10 | #9 | down 3 |
| product boxes | #4 | #3 | up 3 |
| woocommerce product options your tag | #12 | #13 | 0 |
| woocommerce addon | #7 | #11 | 0 |
| product enquiry for woocommerce | #7 | #8 | down 1 |
| product fields | #9 | #12 | 0 |
| engraving | #8 | #6 | up 2 |
| product inquiry for woocommerce | #5 | #4 | down 2 |
| product hover | #9 | #10 | down 4 |
| product enquiry | #9 | #9 | 0 |
| product customization | #10 | #12 | up 2 |
| product | #18 | #18 | down 6 |
| product input fields | #6 | #8 | up 1 |
366 searches this plugin appeared in over the last 90 days, 20 listed. 256 left out as unrelated or noise (years, numbers, stray words).
What to do about it
- Swap “custom fields” and “woocommerce product options” for “personalize” and “woocommerce addon”. “custom fields” isn't earning its slot: it only gets you to #18. “personalize” sits at #7 untagged, close enough for a declared tag to move it up. “woocommerce product options” isn't earning its slot: it only gets you to #12. “woocommerce addon” sits at #7 untagged, close enough for a declared tag to move it up. All five slots are taken, so one has to go.
- One page off on “woocommerce product options”. #12 puts you just past the first ten results, where almost all the clicks stop. The gap to close is small.
Daily downloads
Since 5 Oct 2022 · 1,489 days · wp.org + Plugin Pulse archive
30-day downloads
Rolling 30-day volume · peak 64.9K · peaks are release surges
Directory rank vs rivals
wp.org popularity rank over time · higher is better · when a rival's line climbs above yours, they've overtaken you
Rating trend
Star average over time · dips mark rough releases
Health trend
Composite health score, snapshotted daily
Update activity
How busy the existing users are, measured as downloads in the last 30 days for every 1,000 active sites. A spike means a new release everyone's pulling; a long, slow decline means an aging user base that updates less.
Release cadence
Actively maintainedHow often this plugin actually ships. A steady rhythm is the maintenance signal a single "last updated" date can't show.
15
releases in the last 12 months
10d ago
latest release · v34.0.12 · 22 Oct 2026
186
tagged releases on record
Recent releases
What its installed base runs
via wordpress.orgShare of active installs on each version of this plugin · 55% run the current release. Green is the current release; a big slice on older versions is a user base that has stopped updating.
Estimated active installs
The public count shows “20K+”. Our estimate pins where the real number sits.
Crossed into this band 6.1 years ago; the previous band took 14 months to cross, which places it about 90% of the way through.
Install history since 6 May 2021
Recent reviews
All reviews on wp.org ↗- ★★★★★ samuel lamas4mo ago
Estou utilizando em um site desenvolvido por mim de e-commerce/woo e adicionaei este maravilhoso plugin e está funcionando tudo perfeitamente!
Read on wp.org ↗ - ★★★★★ momo-fr5mo ago
The essential plugin for creating multiple options with conditional display. A must-have.
Read on wp.org ↗ - ★★★★★ thefredjacobs6mo ago
Thank you. Good Plugin.
Read on wp.org ↗ - ★★★★★ creativedays6mo ago
Hello PPOM Support Team, I am experiencing an issue on my WooCommerce site where the dynamic price table and subtotal container of PPOM fail to load on my translated product pages. I am using the PPOM Free version alongside Polylang for WooCommerce. The Problem: On my primary language (Greek) product page, everything works perfectly. However, on the translated (English) product page, the price table does not render when options are selected. Upon inspecting the DOM, I found that the hidden input for ppom_option_price is completely empty on the English page, which breaks the dynamic price calculation: Greek Page (Works):English Page (Fails):Troubleshooting Steps I Have Already Taken: To isolate the issue, I ran several tests and confirmed the following: The PPOM Group Settings are correct: If I attach the English PPOM Group to the Greek product, it works perfectly.The PPOM Fields are not the issue: If I attach the working Greek PPOM Group to the English product, the array is still empty.WooCommerce data is healthy: I queried the database directly. Both the Greek and English products have a standard _price of 31.90, the exact same tax status, and identical decimal/thousand separators.No PHP Fatal Errors: There are no silent PHP errors crashing the page, and the base json_encode() function works fine in the English environment.Loco Translate is not interfering: I bypassed translation files temporarily, and the issue persisted.Conclusion: It appears that when the WordPress environment is set to the secondary language (English), Polylang is somehow intercepting or stripping the product price context when PPOM attempts to build the ppom_option_price array, resulting in a blank value. Is this a know bug? Is there a known workaround? Thank you for your time and help! This topic was modified 2 months, 3 weeks ago by creativedays.
Read on wp.org ↗ - ★★★★★ Anonymous1.0y ago
A really nice and easy plugin to use that solves my issue perfectly.
Read on wp.org ↗ - ★★★★★ unyverso1.1y ago
I installed PPOM for WooCommerce by mistake directly from the WooCommerce interface. The plugin was never activated, but when I try to delete it from the WordPress dashboard, nothing happens — the “Delete” button doesn’t respond and the plugin just stays there. There’s no visible error message, and everything else on the site is working normally. I’ve tried refreshing, clearing cache, and reloading the Plugins page, but the issue persists. Could you please advise on how to completely remove the plugin from WordPress? Thank you for your help! Best regards,Miguel
Read on wp.org ↗ - ★★★★★ matutino1.3y ago
It’s just what I needed for adding an additional service on a product and charging for it per units. Thank you!
Read on wp.org ↗ - ★★★★★ Chiranjib1.6y ago
I like it
Read on wp.org ↗
Latest updates
via wp.org changelogRecent releases and news for this plugin
- 2026-10-22 Version 34.0.12 Fixed the PPOM price summary showing the product price in the wrong currency Fixed cart option prices showing unconverted in secondary WCML currencies. Fixed identical linked-quantity products merging into one cart line 34.0.12
- 2026-10-07 Version 34.0.11 Fixed SVG uploads failing in File upload fields Fixed the first product-page price to use the visible conditional price matrix. Fixed conditional fields to respond only to selections in their own product form. Fixed mode 34.0.11
- 2026-09-30 Version 34.0.10 Fixed date pickers allowing dates before a configured future minimum date. Fixed active product options missing from the cart when an earlier group is disabled. Fixed cart subtotals for products with multiple fixed-fee o 34.0.10
- 2026-09-07 Version 34.0.9 Fixed the file upload button not working when a file or image field had no allowed file types configured. Fixed intermittent file upload failures on cached product pages and pages left open for a long time. Fixed Collaps 34.0.9
- 2026-07-31 Version 34.0.8 Fixed an issue where quantity fields with prices would not appear on the product page when a price matrix was attached to the same product. Fixed a fatal error that occurred when displaying product fields on pages using 34.0.8
- 2026-07-20 Version 34.0.7 Fixed product form assignments regression See changelog for all versions . 34.0.7
Security history
via Wordfence IntelligenceAll 14 disclosed vulnerabilities are patched in the current version (34.0.12). Sites still on an older version should update.
- Patched Critical · 9.1 PPOM <= 34.0.10 - Unauthenticated Arbitrary File Deletion via 'ppom[fields][<data_name>][n][org]' Parameter ↗2026-10-09 CVE-2026-104801 Improper Limitation of a Pathname to a Restricted Directory Affects <= 34.0.10 Patched in 34.0.11
- Patched High · 7.5 PPOM – Product Addons & Custom Fields for WooCommerce <= 33.0.15 - Unauthenticated SQL Injection ↗2025-10-17 CVE-2025-11691 Improper Neutralization of Special Elements used in an SQL Command Affects <= 33.0.15 Patched in 33.0.16
- Patched Critical · 9.8 PPOM – Product Addons & Custom Fields for WooCommerce <= 33.0.15 - Unauthenticated Arbitrary File Upload ↗2025-10-17 CVE-2025-11391 Unrestricted Upload of File with Dangerous Type Affects <= 33.0.15 Patched in 33.0.16
- Patched Medium · 4.4 PPOM for WooCommerce <= 33.0.8 - Authenticated (Administrator+) Stored Cross-Site Scripting ↗2025-01-24 CVE-2025-24668 Improper Neutralization of Input During Web Page Generation Affects <= 33.0.8 Patched in 33.0.9
- Patched Medium · 5.3 PPOM for WooCommerce <= 32.0.20 - Unauthenticated Content Injection Vulnerability ↗2024-06-06 CVE-2024-35728 Improper Neutralization of Special Elements in Output Used by a Downstream Component Affects <= 32.0.20 Patched in 32.0.21
- Patched Critical · 9.8 Product Addons & Fields for WooCommerce <= 32.0.18 - Unauthenticated Arbitrary File Upload via ppom_upload_file ↗2024-04-25 CVE-2024-3962 Unrestricted Upload of File with Dangerous Type Affects <= 32.0.18 Patched in 32.0.19
- Patched Medium · 4.4 PPOM for WooCommerce <= 32.0.5 - Authenticated (Administrator+) Stored Cross-Site Scripting via plugin settings ↗2023-05-02 CVE-2023-1839 Improper Neutralization of Input During Web Page Generation Affects < 32.0.6 Patched in 32.0.6
- 2023-05-01 CVE-2023-2256 Improper Neutralization of Input During Web Page Generation Affects <= 32.0.6 Patched in 32.0.7
- 2019-08-10 CVE-2019-14948 Improper Neutralization of Input During Web Page Generation Affects < 18.4 Patched in 18.4
- 2016-09-19 Unrestricted Upload of File with Dangerous Type Affects <= 1.1 Patched in 2.0
Vulnerability records provided by Wordfence Intelligence. Copyright 2012-2026 Defiant Inc. License and terms.
CVE records: Copyright 1999-2026 The MITRE Corporation. CVE terms of use.
Languages
via translate.wordpress.orgTranslated into 10 languages, 0 at 90% or more
AI assistants
How it's measured →Whether ChatGPT and Claude name this plugin when asked the category question, and whether the readme gives them something to quote.
Not measured yet for this plugin’s topics. Its tracked searches are not among the measured topics. See the topics measured so far.
Readme readiness
7 of 8 pass · checked 1 Nov 2026Can an assistant quote this readme? Eight deterministic checks over the wp.org listing, no model involved.
- ✓ Says what it does "Easily add a range of custom fields to WooCommerce products, from text boxes to date selectors, allowing cu..."
- ✓ Has a FAQ 5 questions in the FAQ.
- ✓ FAQ asks real questions 5 of 5 read like questions a user would type.
- ✓ Names who it is for Names its audience or use cases ("built for", "ideal for", "use cases").
- ✓ Names what it works with Mentions WooCommerce, WPML, Polylang.
- ✓ Headings and lists 15 headings and 4 lists.
- ✓ Enough to quote 10,876 characters of description.
- ! Tags match the text Only 1 of 5 tags appear in the text ("Product Addons", "Variable Products", "Woocommerce Product Addons", "woocommerce product options" missing).
Growth timeline
Install-tier crossings we have observed, and how long each tier took to outgrow
- 2020-09-30 10K+ → 20K+ up after 409 days in tier
- 2019-08-18 8K+ → 10K+ up after 497 days in tier
- 2018-04-08 3K+ → 8K+ up after 376 days in tier
- 2017-03-28 600+ → 3K+ up
Competes with
The plugins that solve the same job, ranked by shared tags then reach, closest match first. The letter on the right is each plugin's health grade (A best, F worst).
-
Advanced Product Fields (Product Addons) for WooCommerce 50K+ installs · 4.7★ · 3 shared tags A -
Product Addons for Woocommerce – Product Options with Custom Fields 30K+ installs · 4.9★ · 2 shared tags A -
Extra Product Options For WooCommerce | Custom Product Addons and Fields 30K+ installs · 4.8★ · 2 shared tags A -
YITH WooCommerce Product Add-Ons 20K+ installs · 3.8★ · 2 shared tags B -
Flexible Product Fields (WooCommerce Product Addons) – WooCommerce Product Page Editor 10K+ installs · 4.4★ · 2 shared tags A -
Product Input Fields for WooCommerce 4K+ installs · 4.0★ · 2 shared tags B
Embed this report card
Drop a live Pulse card for PPOM – Product Addons & Custom Fields for WooCommerce into a readme, a review or a deck. It updates itself.
<iframe src="https://plugins.wpmayor.com/embed/woocommerce-product-addon" width="480" height="300" style="border:0" loading="lazy" title="PPOM – Product Addons & Custom Fields for WooCommerce — Plugin Pulse"></iframe> PPOM – Product Addons & Custom Fields for WooCommerce: 20K+ active installs, 4.5★ (283 reviews). Plugin Pulse (WP Mayor), as of 2026-11-01. https://plugins.wpmayor.com/plugin/woocommerce-product-addon
Spotted a number that looks wrong? Report a data issue and we'll check it against the source.