Code

Discussion on Extra Product Options & Add-Ons for WooCommerce

Discussion on Extra Product Options & Add-Ons for WooCommerce

Cart 36,406 sales
Recently Updated

ThemeComplete supports this item

Supported

This author's response time can be up to 2 business days.

10142 comments found.

Hi, I have deactivated (reset settings also) the plugin on my old site (morilu.com) and trying to activate in my new site with new domain. It says: purchase code already used. How can I reactivate it?

From what I can see you have one license active since 2024-11-15. Do you want me to deactivate it?

Hello, found a minor issue in EPO. In the WPML compatibility class, dynamic_result_label is missing from the list of translatable element fields. The plugin falls back to the original builder value for this property.

Add in class-themecomplete-epo-cp-wpml.php:131 if ( 'dynamic' === $el ) { $this->wpml_element_fields[] = 'dynamic_result_label'; } Thanks

Thank you, but you should add result_label to the end of the $properties2 list instead as that can be used in other elements as well. We will add this to the next update.

Good point, thank you. That’s how AI debugging works today – you make a local edit, but miss the whole picture.

Vievioor

Vievioor Purchased

Hi, due to the last update, the live price update is not visible on an ongoing basis.

I don’t see this issue on my end, and nothing has changed regarding the live product price in the latest update.

If this functionality is not working for you, we would need to investigate your setup specifically, as it appears to be environment-related rather than caused by the plugin update.

Vievioor

Vievioor Purchased

Sorry, I didn’t describe it well. I update my plugins in the store every few months, and this problem occurred now, after fresh update, so it’s not the fault of the latest update, but it’s possible it was an earlier one. Unfortunately, my support has expired, so I have no way to report it.

Hi is this plugin fully compatible with HPOS? – we have been using your plugin for many years, as well as having many years of orders, will it convert the orders correctly when enabling it? Is there anything we need to consider? Thanks

Yes, it is compatible. All of the plugin data in the order is in the order meta data tables so WooCommerce should transfer it along with anything else.

umerrock Purchased

can you fix plugin? your plugin is not working, using woodmart theme https://www.screenpresso.com/=Oah33LRqWyIO

From your screenshot it seems that your are trying to run 2 separate instances of the plugin. Disable the current active plugin you have on the folder woocommerce-tm-extra-product-options.OFF.

yookaroo

yookaroo Purchased

I have 3 licenses for your plugin, big fan! On one of my sites I now have the need to offer bulk pricing based on quantity do you know if Woo Bulk Pricing Tables will work with your plugin?

Currently only the plugin’s mentioned in the description are partially supported. Do note that we are currently actively working on our own full compatible solution for discounts.

Neo3

Neo3 Purchased

Hello, quick question: is it possible to add a checkbox which is checked provides a download link after purchase? In simple words: create a digital product as upsell, via checkbox? (Without creating this digital product as a product.)

Neo3

Neo3 Purchased

Thank you! Yes, it would be a great idea – but can I “hide” that product? Beause I would not want to show it in the shop as a purchaseable separate product. Maybe set as private and test if it works?

It’s also a solution just to send the manually generated link. So I upload a file to Media, copy the link and somehow iclude it in the email sent out after purchase.

Just thinking about the possibilities, thank you for thinking about it as well! (Example is simple: it’s a printable spice sticker with 35 stickers. And I would like to add the option to get +15 stickers for extra money. But then the original link for the 35 stickers is sent out automatically, and I would need to send out the link for the +15 stickers manually.)

When you edit the downloadable product, you can make it hidden using the “Catalog visibility” setting.

Please note: This is different from the standard “Visibility” setting (which offers Public, Password protected, and Private). You don’t want to use that one.

Instead, look for “Catalog visibility” — it gives you these options:

Shop and search results, Shop only, Search results only and Hidden ← Choose this one.

Once you set it to “Hidden,” the product won’t show up in your shop or search results, but anyone with the direct link can still purchase it and therefore when you include it in the product element.

Neo3

Neo3 Purchased

Got it, thanks! And maybe a good idea to add noindex n order to avoid search box finsing the page and adding it to Google search list.

Hi, is it possible to have the product options quantity and price work separately to the main/parent product quantity?

I’m using the product field in the builder to create suggested upsells which has it’s own quantity field. If the customer was to select 10 of the product upsells but then select 2 of the main/parent products, the plugin then increases the total price to include 20 x product options.

Is there a setting to control these independently?

Go to the plugin settings->Elements tab->Product and disable “Sync associated product quantity with main product quantity”.

You just have to create the correct formula based on the fields you have to calculate the correct formula. The quantity field could be auto populate by custom js code. Please note that you can use our Feature Request forum for features.

ur website currently manages around 150 products, all configured as variable products. We use attributes to define variations, including their impact on final pricing.

We are interested in adopting your plugin to improve the visibility and management of product variations during the user customization process. However, from the demo, some aspects of its functionality are not entirely clear, and we would appreciate your clarification on the following points:

Is it possible to reuse the existing attributes and variations, or would we need to completely restructure our product catalog? How does the customization process integrate with WooCommerce emails? Is there a way to customize them to include a detailed summary of the selected configurations (such as user-uploaded images and texts)? We currently manage specific pricing lists based on different types of customizations: how could your plugin be adapted to support this requirement?

We look forward to your kind response.

Thank you in advance for your time and support.

Thank you for your detailed questions — we’re happy to clarify how our plugin can fit into your current setup.

1. Reuse of existing attributes and variations Our plugin is designed to work alongside WooCommerce’s existing product structure, so you can continue using your current attributes and variations without needing to restructure your product catalog.

It’s worth noting that the plugin’s primary focus is on adding and managing extra product options (add-ons) rather than modifying how variations themselves are displayed. In other words, it enhances the customization layer on top of your existing setup rather than replacing the native variation system.

2. Integration with WooCommerce emails All customization data selected by the customer (including text inputs, uploaded files, and chosen options) is saved within the order details and included in WooCommerce emails (both admin and customer notifications).

If you need a more detailed or structured summary — such as better formatting or clearer presentation of uploaded assets and configurations — this can typically be achieved through email template customization.

3. Custom pricing based on configurations Our plugin supports flexible pricing rules for extra options, allowing you to apply additional costs based on selected customizations (e.g. fixed amounts or percentage-based adjustments).

For more advanced pricing setups, such as different pricing logic depending on the type of customization, this can usually be handled through a combination of option pricing and conditional logic. We would be happy to review a specific example from your setup and suggest the best approach.

cr8ivco

cr8ivco Purchased

Can you please update the domain for one of the licenses I have – it says that it’s registered under a different domain. Let me know how I can give you the purchase code. Thanks.

You can email me from my profile page at https://codecanyon.net/user/ThemeComplete#contact

fatherb

fatherb Purchased

Hi – liking the new templates system. However, it currently does not show the title of the template on the form in the editor – it says Template and under it (no title). I have checked and my Template has a title. I think it would be helpful if you could add this please.

Thank you for the suggestion. Please note that you can make suggestion like this in the feature request forum here: https://themecomplete.support/forums/forum/feature-request/

I have a pre-purchase question. I have a client whose current online store is using this plugin on more or less 300 products. Apart from buyng the plugin again, how do I bulk export and import the products with these options ? I see that there’s a import/export csv inside each product but i don’t want to do that manually for 300…

The only way I can think of batch exporting the product with the options is using the internal WordPress import/export tool.

Are dropdowns with images already possible in the plugin? If not, I think this would be a fantastic addition.

I mean a compact dropdown that can show the option image, label, and optionally the extra price inside the dropdown itself.

For products with many visual options, this would be a very clean way to present them without cluttering the frontend with lots of image swatches all at once.

This is exactly the kind of interface I mean:

I think this would make an already great plugin even more awesome, especially for stores that need to show many colors, finishes, or material options in a compact way.

Looking forward to your thoughts.

These are currently handled as customization. Please consider leaving a comment of the Feature request forum.

I love the “Generate product link” Option in the Administration Bar; we use it to advise customers how to “create their own” style -

It it possible to place this on the product page as a shortcode so that people can “link” to it – in my case “Click to Share your Design” or similar?

You can create a div or any tag anywhere in the product page with the class generate-product-link and it will do just that.

<div class="generate-product-link">Click here to Specify</div> Like this example?

Hello, I’m interested in the “Template Elements: Create globally enabled template elements to streamline form management.”, but when I looked in the documentation the word “template” only appears once and it doesn’t mention how to use it. Where in the documentation does it explain how to use template elements?

Found it in the side-column… looks like this is something new. I can’t wait to play around with it. Looks like it will save me lots of time. I love this plugin and I recommend everyone with a WooCommerce to look into this. It’s way better than the default.

With Template Elements, you can create a single element only and reuse it across multiple products or forms within the builder. This allows you to centralize your setup instead of duplicating the same configuration in multiple places.

Any changes you make to the template—such as pricing—will automatically be applied everywhere the template is used. This makes it much easier to maintain consistency and manage updates across your store, especially when the same options need to appear on multiple products.

Hi,

is it possible those fields to be hidden from them customers and being dispayed only to the site admins?

Thanks

In which context do you mean—on the front page, the cart, or the invoices?

front end

In that go to the plugin settings->General tab->Initialization and set “Enable Frontend Access for Selected Roles” to “Administrator”. Please be aware that by doing so the options won’t be available for any other user role, it would be as if the product has no options.

Hello, is there any way to prefetch product options? ajax takes to long to add product option to cart. but the second time we add it is instant. we think if we could have a code snippet to prefetch product variations once the product page is loaded it could improve the user experience

From what I can see in your video, you are using the Product element with the layout set to checkboxes and the mode set to either products or categories. In this configuration, the plugin has to retrieve the relevant product data at the moment a selection is made, because the exact set of products and their associated data (price, stock, variation data, etc.) is only known after the user chooses a specific item.

Technically, this data cannot be prefetched because the plugin would have to load all possible product information in advance in order to cover every potential selection. That would mean sending a large amount of unnecessary data to the browser, including pricing, stock, and variation details for products that the customer may never select.

Doing so would actually create worse performance issues, since the initial page load would become significantly heavier and consume more memory and network bandwidth. Instead, fetching the data only when it is needed keeps the initial page lighter and ensures that only the required information is requested and processed.

I understand that prefetching all possible products would be inefficient. However, my specific use case involves only 5-6 fixed optional products with color variation (mattress, canopy, etc.) that are always the same for this product. To implement a proper prefetch solution, I need to know: 1. What is the exact AJAX endpoint URL and parameters that the Product element calls when a selection is made? Is it always admin-ajax.php?action=woocommerce_tm_ajax? What are the required POST parameters? (tm_ajax, product_id, mode, etc.) 2. What is the exact JSON response format expected by the frontend? Can you provide a sample response for a variable product with variations? 3. Is there a hook or filter to add data to the initial page load? For example: add_filter(‘wc_epo_product_data’, ...) or similar? 4. Can I use the mode=builder parameter to get all product data at once? I noticed this in some EPO versions. 5. Is there a JavaScript API to manually populate the product cache? Something like: TMEPO.api.cacheProduct(id, data)? With this information, I can prefetch only these 5-6 specific products without affecting initial page load performance. Thanks!

If you want to avoid AJAX loading, please consider using Custom Bundle mode with the minimum quantity set to 0. The other modes currently don’t allow modifying this behavior.

In your current setup, the AJAX endpoints and responses won’t help in this situation because the initial loading does not occur through JavaScript requests. Instead, the JavaScript simply reacts to data that has already been rendered on the page. Therefore, changing the AJAX logic won’t affect the initial loading behavior.

Is it possible to create such a site with your theme?

An e-commerce site with a subscription system.

Video: https://drive.google.com/file/d/1rhBQVkY0xZx4W_Li7dRf-BafxDgg8Xjl/view?usp=sharing

Site: https://www.portakalbahcem.com/abonelik-kutulari

This is an addon creation plugin only.

I am running into an issue where EPO and WooCommerce Dynamic Pricing & Discounts from RightPress are over riding each other at checkout and my pricing add ons are not being displayed in the cart or through the payment process.

Any help you could give me?

great, the email works

Following up on this thread. The newest version of the plugin Dynamic Pricing & Discounts (2.5.1) from RightPress still is not working with EPO. Only version 2.4.6 works.

Did you open a ticket about this?

Hello, can we replace the mandatory red asterix to the end of the sentence? Now it takes too much space. https://imgur.com/a/KesY4SC Thank you in advance!

You can change this by going to the plugin settings->Global tab->Strings->Required state indicator

by
by
by
by
by
by

Tell us what you think!

We'd like to ask you a few questions to help improve CodeCanyon.

Sure, take me to the survey