WooMonogram
WooCommerce monogram and initials add-on with WPML and multi-currency support.
Install
No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:
wp plugin install https://github.com/ugurterzi/woomonogram/archive/refs/heads/main.zipWooCommerce monogram and initials add-on with WPML and multi-currency support.
Current version: 2.0.0.
Features
- Per-product monogram toggle (optional or required input)
- Customer enters initials with configurable character limit
- Up to 4 position options per product (label + diagram image)
- Surcharge added at cart level (does not modify the product's stored price)
- Cart and checkout show a clean price breakdown: base price + monogram price
- "Remove monogram" link in cart for customers who change their mind
- Order details page and emails show the same breakdown for transparency
- Currency-aware admin product list column displays all configured surcharges side by side
- WPML String Translation aware (UI strings translatable per language)
- WPML auto-config via bundled
wpml-config.xml(no manual admin setup) - Translation products inherit settings from the master automatically
- WCML aware (manual per-currency surcharges via WCML's manual-prices UI)
- WordPress core gettext fallback (
.po/.mo) when WPML inactive - Frontend CSS/JS enqueued only on monogram-enabled product pages
- Object cache and WP Rocket aware
Requirements
Required:
- WordPress 6.0 or higher
- PHP 7.4 or higher
- WooCommerce
- Advanced Custom Fields (Free or Pro)
Recommended (graceful degradation if missing):
- WPML Multilingual CMS — for multi-language sites
- WPML String Translation — for translatable position labels and UI strings
- WPML Multilingual & Multicurrency for WooCommerce (WCML) — for manual per-currency surcharges
Installation
- Download the latest release zip from the Releases page — or clone the repo directly into
wp-content/plugins/woomonogram/. - In WordPress admin, go to Plugins → Activate WooMonogram.
- If required plugins are missing, activation will be blocked with an error message.
First use
- Edit any WooCommerce product.
- Scroll to the "Monogram / Initials Feature" section (added by this plugin).
- Toggle "Enable Monogram Feature" on.
- Set the surcharge amount in the default currency.
- Set the maximum character limit (e.g. 3 for monograms like "ABC").
- Add up to 4 position options. Each position needs a label and a diagram image.
- Save the product.
- View the product on the storefront — the monogram input appears above "Add to cart".
Multi-currency setup (WCML)
If WCML is active and your product has manual per-currency prices enabled:
- Edit the product → in the WCML "Set prices in other currencies manually" section, you'll see a new "Monogram Surcharge" field per secondary currency.
- Enter the surcharge value for each currency.
- Save. The surcharge applies in each currency on the storefront.
If a currency's manual surcharge is left blank, it falls back to converting the default-currency surcharge through WCML's exchange rate.
The currency-aware product list column in admin shows all configured surcharges side by side (e.g. $38 / ₺1,230) so you can verify your manual prices at a glance.
Multilingual setup (WPML)
WooMonogram ships with wpml-config.xml so WPML automatically handles per-product settings without manual configuration:
- Master-controlled fields (enable, required, price, max characters, position images) are copied to translations.
- Position labels are translatable per language.
UI strings are registered with WPML String Translation under the context woomonogram. Static UI strings (like "Type your initials") use the bundled .po/.mo files first; WPML overrides them per language if you set translations.
When you view a translated product in admin, the WooMonogram metabox is hidden and replaced with a link to the master product where settings are managed.
Migration from Fernco Monogram
This plugin was originally developed as Fernco Monogram. Sites upgrading from the Fernco-branded version will see a notice on activation prompting a one-time data migration:
- Activate WooMonogram.
- Click "Run Migration" in the yellow admin notice.
- Verify the storefront and product edit screens look correct.
- Once verified, click "Delete Legacy Data" to remove the old
_fernco_*postmeta rows.
The migration is idempotent and the cleanup is a separate manual step, so you can roll back at any point until you click cleanup.
2.0.0 also performs a second internal migration step that renames secondary-currency surcharge meta keys from _woomonogram_price_{CURRENCY} to _woomonogram_surcharge_{CURRENCY}. This is idempotent, runs automatically on activation, and the old keys are preserved for rollback.
Translations
Bundled translations:
- English (en_US)
- Turkish (tr_TR)
To add a translation, copy languages/woomonogram.pot, translate the strings, save as woomonogram-{locale}.po, and compile with msgfmt to produce .mo. Pull requests for new translations welcome.
Changelog
See CHANGELOG.md.
License
GPL-2.0-or-later. See LICENSE.
Copyright © 2026 Ugur Terzi.
Author
Built by Ugur Terzi.