{"id":12727,"date":"2026-07-29T06:26:38","date_gmt":"2026-07-29T06:26:38","guid":{"rendered":"https:\/\/themewinter.com\/docs\/plugins\/?post_type=docs&#038;p=12727"},"modified":"2026-07-29T06:29:55","modified_gmt":"2026-07-29T06:29:55","password":"","slug":"how-to-use-optiontics-with-wpcafe-for-food-add-ons","status":"publish","type":"docs","link":"https:\/\/themewinter.com\/docs\/plugins\/plugin-docs\/food-ordering\/how-to-use-optiontics-with-wpcafe-for-food-add-ons\/","title":{"rendered":"How to Use Optiontics with WP Cafe for Food Add-ons"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\"><strong>Overview<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Optiontics is a WooCommerce product add-on builder that adds custom options to your WP Cafe food menu. Restaurant owners use it to sell customizable dishes, build-your-own platters, and paid extras. Customers pick toppings, sizes, and sides from the menu itself, and the price updates before they add the item to the cart.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A plain WP Cafe food menu sends a fixed item straight to the cart. That works for a bottled drink, but not for a pizza with three topping choices or a party platter where the customer picks six items. Once Optiontics is active and an option set is assigned to your dishes, WP Cafe shows a Customize button on those menu cards and opens the option form in a popup, so the order reaches the kitchen with the exact choices attached.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">No connection settings or bridge plugin sit between the two. The integration is automatic.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" src=\"https:\/\/wp-cafe.com\/wp-content\/uploads\/2026\/07\/01-food-menu-popup.png\" alt=\"WP Cafe food menu with the Optiontics customize popup open showing add-on fields and the live total\" class=\"wp-image-2487\"\/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Requirements<\/strong><\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/wordpress.org\/\" target=\"_blank\" rel=\"noreferrer noopener\">WordPress<\/a> 6.2 or newer, PHP 7.4 or newer.<\/li>\n\n\n\n<li><a href=\"https:\/\/woocommerce.com\/\" target=\"_blank\" rel=\"noreferrer noopener\">WooCommerce<\/a> installed and active.<\/li>\n\n\n\n<li><a href=\"https:\/\/wordpress.org\/plugins\/wpcafe\/\" target=\"_blank\" rel=\"noreferrer noopener\">WP Cafe<\/a> installed and active, with a food menu on a page.<\/li>\n\n\n\n<li><a href=\"https:\/\/wordpress.org\/plugins\/optiontics\/\" target=\"_blank\" rel=\"noreferrer noopener\">Optiontics<\/a> installed and active, see <a href=\"https:\/\/themewinter.com\/docs\/plugins\/plugin-docs\/optiontics\/how-to-install-optiontics\/\">How to Install Optiontics<\/a>.<\/li>\n\n\n\n<li><strong>Optiontics Pro<\/strong> (optional): needed for option images, sale prices per option, and per-option quantity.<\/li>\n\n\n\n<li><strong>WP Cafe Pro<\/strong> (optional): needed for the Pro menu shortcodes and widgets.<\/li>\n<\/ul>\n\n\n\n<figure style=\"padding-top:var(--wp--preset--spacing--20);padding-right:var(--wp--preset--spacing--20);padding-bottom:var(--wp--preset--spacing--20);padding-left:var(--wp--preset--spacing--20)\" class=\"wp-block-table\"><table class=\"has-background has-fixed-layout\" style=\"background-color:#2d97de17;border-width:1px\"><tbody><tr><td><strong>New to the plugin? <\/strong><a href=\"https:\/\/themewinter.com\/docs\/plugins\/plugin-docs\/optiontics\/what-is-optiontics\/\">What is Optiontics<\/a> explains the builder and its pricing model before you start.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Step 1: Create an option set for your food items<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">An option set is one group of add-on fields, for example a size choice plus a topping list. Build it once in Optiontics and point it at your dishes.<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Go to <strong>WP Admin \u2192 Optiontics \u2192 Options<\/strong>.<\/li>\n\n\n\n<li>Click <strong>Add Options<\/strong>, then pick <strong>Select Template<\/strong>, <strong>Start from Scratch<\/strong>, or <strong>Create with AI<\/strong>.<\/li>\n<\/ol>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" src=\"https:\/\/wp-cafe.com\/wp-content\/uploads\/2026\/07\/02-creation-mode.png\" alt=\"Optiontics Option list with the create option set modal open\" class=\"wp-image-2488\"\/><\/figure>\n\n\n\n<ol start=\"3\" class=\"wp-block-list\">\n<li>Add your option fields in the builder and set a price on each choice.<\/li>\n\n\n\n<li>Click <strong>Publish<\/strong>. The <strong>Edit Product Selection<\/strong> window opens.<\/li>\n\n\n\n<li>Choose a <strong>Product Type<\/strong>: <strong>All Woo Products<\/strong> applies the set to every product with an optional exclude list, <strong>Specific Woo Products<\/strong> applies it to the dishes you pick, and <strong>Specific Woo Category<\/strong> applies it to whole menu categories such as Pizza or Desserts.<\/li>\n\n\n\n<li>Pick your dishes or categories, then click <strong>Update<\/strong>.<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">For a food menu, <strong>Specific Woo Category<\/strong> is usually the right choice. Every new dish you add to that category picks up the same add-ons with no extra setup. Product tag and brand assignments work the same way.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The full field list, price types, and conditional logic are covered in <a href=\"https:\/\/themewinter.com\/docs\/plugins\/plugin-docs\/optiontics\/how-to-create-product-options\/\">How to Create Product Options<\/a>.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" src=\"https:\/\/wp-cafe.com\/wp-content\/uploads\/2026\/07\/03-product-selection.png\" alt=\"Optiontics Edit Product Selection window with Specific Woo Category highlighted\" class=\"wp-image-2489\"\/><\/figure>\n\n\n\n<figure style=\"padding-top:var(--wp--preset--spacing--20);padding-right:var(--wp--preset--spacing--20);padding-bottom:var(--wp--preset--spacing--20);padding-left:var(--wp--preset--spacing--20)\" class=\"wp-block-table\"><table class=\"has-background has-fixed-layout\" style=\"background-color:#2d97de17;border-width:1px\"><tbody><tr><td><strong>Note: <\/strong>A draft option set never reaches the frontend. Publish it before you test the menu.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Step 2: Check your WP Cafe food menu shortcode<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Nothing changes in the shortcode itself. It just has to be a WP Cafe food menu that renders product cards, since that is where the Customize button is placed.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">These shortcodes support Optiontics add-ons.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>WP Cafe (free)<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&#91;wpc_food_menu_tab]\n&#91;wpc_food_menu_list]\n&#91;wpc_food_location_menu]<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>WP Cafe Pro<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&#91;wpc_pro_food_menu_tab]\n&#91;wpc_pro_food_menu_list]\n&#91;wpc_pro_menu_slider]\n&#91;wpc_pro_menu_tab_with_slider]\n&#91;wpc_pro_food_menu_loadmore]\n&#91;wpc_pro_menu_category_list]\n&#91;wpc_pro_menu_location_list]<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">The Elementor and Bricks food menu widgets use the same rendering, so they work too.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Step 3: Test the menu on the frontend<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Open the page that holds your food menu and find a dish covered by the option set.<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>The card shows a <strong>Customize<\/strong> icon in place of the plain cart icon.<\/li>\n\n\n\n<li>Click it. WP Cafe opens the product popup and the Optiontics form loads inside it.<\/li>\n\n\n\n<li>Make a few choices. The total updates as you select.<\/li>\n\n\n\n<li>Click <strong>Add to Cart<\/strong>, then open the cart.<\/li>\n<\/ol>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1334\" height=\"897\" src=\"https:\/\/themewinter.com\/docs\/plugins\/wp-content\/uploads\/sites\/3\/2026\/07\/SCR-20260729-lesm.png\" alt=\"WP Cafe food menu card showing the Optiontics Customize icon\" class=\"wp-image-12729\"\/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">The selected options appear under the item name in the cart, at checkout, in the order email, and on the WooCommerce order screen, so the kitchen sees the exact request.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" src=\"https:\/\/wp-cafe.com\/wp-content\/uploads\/2026\/07\/05-cart-addons.png\" alt=\"WooCommerce cart showing the selected Optiontics add-ons under the food item\" class=\"wp-image-2491\"\/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">The Customize icon shows only when the dish is a simple product, is in stock, and has a published option set assigned to it. Variable dishes already use the WP Cafe variation popup, and the Optiontics form renders inside that same popup under the variation selectors.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Step 4: Set how the running total is displayed<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">On the single product page, Optiontics can keep the total visible while the customer works through a long option form.<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Go to <strong>WP Admin \u2192 Optiontics \u2192 Settings<\/strong>.<\/li>\n\n\n\n<li>Open the <strong>Product Page<\/strong> tab.<\/li>\n\n\n\n<li>Turn on <strong>Enable sticky pricing<\/strong>.<\/li>\n\n\n\n<li>Choose a <strong>Price Display Style<\/strong>: <strong>Sticky Card<\/strong> keeps the total in a panel beside the form, and <strong>Floating Bottom Bar<\/strong> pins it to the bottom of the screen.<\/li>\n\n\n\n<li>Click <strong>Save Changes<\/strong>.<\/li>\n<\/ol>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" src=\"https:\/\/wp-cafe.com\/wp-content\/uploads\/2026\/07\/06-sticky-pricing.png\" alt=\"Optiontics Settings Product Page tab with sticky pricing enabled\" class=\"wp-image-2492\"\/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Frequently Asked Questions (FAQ)<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\" style=\"border-style:none;border-width:0px\"><tbody><tr><td><strong>Q1: My menu card still shows the normal cart icon instead of Customize. What is wrong?<\/strong>Check in this order: the option set is published and not a draft, the dish matches the product type you chose in Product Selection, the Add to Cart button is enabled in your WP Cafe menu settings, and the dish is a simple product that is in stock. Out-of-stock items keep the default button.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\" style=\"border-style:none;border-width:0px\"><tbody><tr><td><strong>Q2: Can one option set cover my whole menu category?<\/strong>Yes. Choose <strong>Specific Woo Category<\/strong> when you publish the option set and pick your menu categories. Every dish in those categories gets the same add-ons, including dishes you add later, so a Pizza category can carry one shared topping list instead of a per-dish copy.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\" style=\"border-style:none;border-width:0px\"><tbody><tr><td><strong>Q3: Do add-on prices work with discounts and the regular dish price?<\/strong>Yes. Optiontics calculates add-ons on top of the item price WooCommerce reports, so a discounted dish keeps its discount and the extras are added to it. Percentage-priced options are calculated from that same discounted base, not from the original list price.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Conclusion<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Optiontics turns a fixed WP Cafe food menu into one customers can order from the way they actually eat, with extras, sizes, and notes priced correctly before checkout. Install Optiontics, publish one option set for a menu category, and the Customize button appears on your food menu.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Overview Optiontics is a WooCommerce product add-on builder that adds custom options to your WP Cafe food menu. Restaurant owners use it to sell customizable dishes, build-your-own platters, and paid extras. Customers pick toppings, sizes, and sides from the menu itself, and the price updates before they add the item to the cart. A plain [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_seopress_titles_title":"","_seopress_titles_desc":"","_seopress_robots_index":"","_seopress_robots_follow":"","_seopress_robots_imageindex":"","_seopress_robots_snippet":"","_seopress_robots_primary_cat":"","_seopress_robots_breadcrumbs":"","_seopress_robots_freeze_modified_date":"","_seopress_robots_custom_modified_date":"","_seopress_robots_canonical":"","_seopress_social_fb_title":"","_seopress_social_fb_desc":"","_seopress_social_fb_img":"","_seopress_social_fb_img_attachment_id":0,"_seopress_social_fb_img_width":0,"_seopress_social_fb_img_height":0,"_seopress_social_twitter_title":"","_seopress_social_twitter_desc":"","_seopress_social_twitter_img":"","_seopress_social_twitter_img_attachment_id":0,"_seopress_social_twitter_img_width":0,"_seopress_social_twitter_img_height":0,"_seopress_redirections_value":"","_seopress_redirections_enabled":"","_seopress_redirections_enabled_regex":"","_seopress_redirections_logged_status":"","_seopress_redirections_param":"","_seopress_redirections_type":0,"_seopress_analysis_target_kw":"","_eb_attr":"","site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"set","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"doc_category":[9],"doc_tag":[],"class_list":["post-12727","docs","type-docs","status-publish","hentry","doc_category-food-ordering"],"year_month":"2026-07","word_count":986,"total_views":"6","reactions":{"happy":"0","normal":"0","sad":"0"},"author_info":{"name":"teamwinter","author_nicename":"teamwinter","author_url":"https:\/\/themewinter.com\/docs\/plugins\/author\/teamwinter\/"},"doc_category_info":[{"term_name":"Food Ordering","term_url":"https:\/\/themewinter.com\/docs\/plugins\/docs\/food-ordering\/"}],"doc_tag_info":[],"knowledge_base_info":[],"knowledge_base_slug":[],"_links":{"self":[{"href":"https:\/\/themewinter.com\/docs\/plugins\/wp-json\/wp\/v2\/docs\/12727","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/themewinter.com\/docs\/plugins\/wp-json\/wp\/v2\/docs"}],"about":[{"href":"https:\/\/themewinter.com\/docs\/plugins\/wp-json\/wp\/v2\/types\/docs"}],"author":[{"embeddable":true,"href":"https:\/\/themewinter.com\/docs\/plugins\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/themewinter.com\/docs\/plugins\/wp-json\/wp\/v2\/comments?post=12727"}],"version-history":[{"count":3,"href":"https:\/\/themewinter.com\/docs\/plugins\/wp-json\/wp\/v2\/docs\/12727\/revisions"}],"predecessor-version":[{"id":12731,"href":"https:\/\/themewinter.com\/docs\/plugins\/wp-json\/wp\/v2\/docs\/12727\/revisions\/12731"}],"wp:attachment":[{"href":"https:\/\/themewinter.com\/docs\/plugins\/wp-json\/wp\/v2\/media?parent=12727"}],"wp:term":[{"taxonomy":"doc_category","embeddable":true,"href":"https:\/\/themewinter.com\/docs\/plugins\/wp-json\/wp\/v2\/doc_category?post=12727"},{"taxonomy":"doc_tag","embeddable":true,"href":"https:\/\/themewinter.com\/docs\/plugins\/wp-json\/wp\/v2\/doc_tag?post=12727"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}