Skip to content

Developers

Food Online settings and order data can be read and updated with the WooCommerce REST API. Set up API keys as described in the WooCommerce REST API documentation.

Food Online settings are in the settings group fdoep. The option IDs are listed in the option reference below.

Example: set the fixed preparation time (fdoe_pickup_fixed) to 30 minutes.

PUT https://example.com/wp-json/wc/v3/settings/fdoep/fdoe_pickup_fixed
{ "value": "30" }

Block settings, such as Menu Flow modes or Shipping Mode fields, are saved in the block attributes on the page, not as options.

Key Value
fdoe_delivery_mode delivery, pickup or eathere
fdoe_picked_time The chosen date and time
fdoe-pickup-location The chosen pickup location (title, address and email)
fdoe-pickup-location_term_id The ID of the chosen pickup location
_billing_table Table number for eat in orders

Example: change order 4705 to pickup.

PUT https://example.com/wp-json/wc/v3/orders/4705
{
"meta_data": [ { "key": "fdoe_delivery_mode", "value": "pickup" } ]
}

Food Online supports WooCommerce High-Performance Order Storage (HPOS). Read and write order data through the WooCommerce APIs, not directly in the database.

Filter Arguments Use
fdoe_activate_yith_totals bool $activate (default true) With YITH WooCommerce Product Add-Ons on the classic menu, Food Online forces the YITH scripts so that totals are shown in the product popup. Return false to load Food Online’s compatibility styles instead.
fdoe_is_shortcode_delivery bool $is_delivery Whether the current page shows the classic delivery selector. Return true to load it on a page Food Online does not detect, for example one built with a page builder.
fdoe_show_handheld_footer_bar bool $show (default true) Return false to hide the classic mobile bottom bar.

Example:

// Hide the classic mobile bottom bar.
add_filter( 'fdoe_show_handheld_footer_bar', '__return_false' );

All options under WooCommerce → Settings → Food Online Premium, by section. The Option ID is used with the REST API above.

These settings mainly affect the classic Food Online shop-page menu. Some options are also reused by legacy shortcode-rendered menus, while shortcode attributes can still override parts of shortcode behaviour. These settings do not affect the Food Online Menu block.

Setting Option ID Default Description
Main shop page fdoe_override_shop yes Choose what to show at WooCommerce shop page! Options: no None; yes Show menu; delivery Show only delivery feature.
Setting Option ID Default Description
Enable Search? fdoe_show_search no Show a search form at the menu?
Sticky fdoe_sticky_bar no Make side bars and category top bar sticky?
Sticky for mobile devices? fdoe_sticky_mobile no Choose what to make sticky on mobile devices? Options: cats Top Category Menu; selector Delivery Selector; both Top Category Menu & Delivery Selector; no None.
Smooth Scrolling fdoe_smooth_scrolling no Use smooth scrolling navigating in the Menu?
Show confirmation when added to cart fdoe_show_confirmation no Show confirmation when an item is added to cart?
Extra? Popup fdoe_extra_popup no Show a popup on checkout with featured products as supplementary?
Hide the Storefront Theme Headings fdoe_hide_storefront_head yes Hide the Menu, Search fields and Cart in the page headings? (Only for the Storefront Theme)
Setting Option ID Default Description
Hide the Cart fdoe_hide_minicart no Hide the Cart from Menu page?
Minicart Style fdoe_minicart_style popover Choose how to style the minicart? Options: popover Popup Style; basic Basic Style; increment + / - Buttons; theme Theme Default.
Minicart Order fdoe_minicart_reverse_order no Select where added products appear in minicart Options: no Add to bottom; yes Add to top.
Setting Option ID Default Description
Pop-up simple products? fdoe_popup_simple yes Use pop-up for simple products when add-to-cart. Options: yes Use Popups; no Add to cart instantly; redirect Redirect to product page.
Pop-up variable products? fdoe_popup_variable yes The “Add to cart instantly” option is applicable when variation products doesn┬┤t have options Options: yes Use Popups; add Add to cart instantly; no Redirect to product page.
Pop-up grouped products? fdoe_popup_grouped redirect Options: popup Use Popups; redirect Redirect to product page.
Pop-up composite products? fdoe_popup_composite redirect Options: popup Use Popups; redirect Redirect to product page.
Pop-up bundle products? fdoe_popup_bundle redirect The “Add to cart instantly” option is applicable for bundle products only containing simple products Options: popup Use Popups; instant Add to cart instantly; redirect Redirect to product page.
Product Popup Source fdoe_product_popup_content custom Choose how to display content in product popup. Theme Template shows everything your theme puts on the product page, such as reviews, SKU and categories. Options: theme Theme Template; custom Food Online Original; style-1 Food Online Style 1.
Product Popup Content fdoe_product_popup_content_spec Select content for the product popup. Options: image Product Image; meta Product Meta; rating Product Rating; desc Product Description.

These settings control the classic Food Online layout and styling used by the shop-page menu renderer. Legacy shortcode menus can still override parts of their output through shortcode attributes. These settings do not affect the Food Online Menu block.

Setting Option ID Default Description
Menu Layout fdoe_layout fdoe_onecol A shortcode can choose its own with layout=“onecol”, “twocols” or “2020”. If several menu shortcodes are on one page, the first one that sets it decides. Options: fdoe_onecol One Column; fdoe_twocols Two Columns; fdoe_twentytwenty 2020 Template.
Menu Template fdoe_menu_template none Gives the classic menu the colors, fonts and card style of a Food Online Menu block template. The layout above still decides the structure. While a template is active, it replaces the classic menu colors. A shortcode can choose its own with template=“arcade”. Options: none None; valdemar-dark Valdemar Dark; ellen-noble Ellen Noble; einars-fusion Einar’s Fusion; arcade Arcade; street Street.
Show Menu like Accordion? fdoe_accordian no Show only one category at a time with accordion behaviour
Show Sub Categories along with Parent Category? fdoe_subcat_with_parent no Show sub categories together with their parent category and not as a independent category
Top Bar fdoe_top_bar no Show a bar above the Menu?
Top Bar Information Message fdoe_top_bar_info
Categories Left Menu fdoe_left_menu no Show categories in left-bar menu?
Categories Top Menu fdoe_cat_top_menu no Show categories in top-bar menu?
Make Category Top Menu Scrollable fdoe_cat_top_menu_scroll no
Mobile Categories Top Menu fdoe_cat_top_menu_mobile yes Show categories in top-bar menu on mobile devices? Options: yes Show standard menu; collapsed Show dropdown menu; no Hide.
Bottom Mobile Bar fdoe_bottom_bar yes Show a bottom bar for mobile devices? Options: yes Show at whole site; menu Show at Menu pages; woocommerce Show at woocommerce pages; no Hide Bottom bar.
Setting Option ID Default Description
Menu Color fdoe_color #bf5bb6
Menu Background Color fdoe_color_back #fff
Menu Items Separator fdoe_item_separator dashed Style of the Menu items separator? Options: dashed Dashed; solid Solid; dotted Dotted; hidden None.
Menu Items Separator Color fdoe_border_color #ddd
Menu Titles Icon fdoe_menu_titles_icon fas fa-ellipsis-h Icon to display with the menu titles? Options: fas fa-ellipsis-h Dots; fas fa-minus Lines; fas fa-seedling Leef; fas fa-genderless Ring; fas fa-star Star; fas fa-pepper-hot Chili Pepper; fas fa-pizza-slice Pizza; fas fa-hamburger Hamburger; fas fa-apple-alt Apple; `` None.
Item Icon fdoe_item_icon fas fa-plus-circle Item “Add” icon in the Menu? Options: fas fa-plus-circle Standard; fas fa-plus Plus; fas fa-plus-square Square Shape Plus; fas fa-seedling Leef; fas fa-shopping-basket Shopping Basket; fas fa-shopping-cart Shopping Cart; fas fa-cart-plus Shopping Cart with plus; fas fa-utensils Knife & Fork; `` None.
Product Images fdoe_show_images rec Show images for products in menu? Options: small Small size; rec Normal Size; big Big Size; hide Hide images.
Product Image Type fdoe_image_size default Choose product image type? Options: default Default Type; woocommerce_thumbnail WooCommerce Thumbnail.
Product Short Description fdoe_menu_shortdesc yes Show the product short description in Menu?
Category Images fdoe_cat_image no Show images for categories in menu? A shortcode can choose its own with category_image=“yes” or “no”.
Category Description fdoe_show_cat_desc no Show description for categories in menu?
Sale badge? fdoe_salebadge no Show a sale badge in the menu if the product is on sale

This category ordering is used by the classic Food Online shop-page/default menu renderer. Legacy shortcode menus use their own category queries and normally default to menu_order unless shortcode attributes override that. These settings do not affect the Food Online Menu block.

Calculate an approximate time for an order to be ready.

Setting Option ID Default Description
Preparation Time fdoe_preperation_time_mode fixed Options: fixed Fixed preparation time; dynamic Dynamic preparation time.
Fixed preparation time per order fdoe_pickup_fixed 0 Set a fixed time in minutes for preparing an order.
Setting Option ID Default Description
Preparation Time per Order or Order Item fdoe_preptime_order_item order Options: order Per Order; item Per Order Item.

Add extra time depending on already existing orders with a “processing” or “on-hold” order status.

Setting Option ID Default Description
Extra time per processing order/item fdoe_pickup_var 0 Set extra time in minutes per order or item already processing.
Use order or items? fdoe_extratime_mode orders Choose to calculate extra time per processing order or per processing item. Options: orders Orders; items Items.
Choose categories to include fdoe_processing_cats Select product categories to include when counting the processing items Options: your product categories.
Setting Option ID Default Description
Time until ready for pickup? fdoe_ready_for_pickup_show none Set the time until a pickup or default ( delivery feature disabled ) order is ready. Options: none None; fixedtime By preparation time; variable By preparation time & extra time.
Setting Option ID Default Description
Time until ready for Eat at Restaurant? fdoe_ready_for_eathere_show none Set the time until a “Eat at Restaurant” order is ready. Options: none None; fixedtime By preparation time; variable By preparation time & extra time.
Setting Option ID Default Description
Set vehicle shipping_vehicle driving Select a vehicle type that will be used to calculate shipping time. It will also be used to decide the delivery icon. Options: DRIVING By car or truck; BICYCLING By bicycle.
Time until delivery? fdoe_ready_for_delivery_show none Set the time until a delivery order can be delivered. Options: none None; fixedtime By preparation time; variable By preparation time & extra time; fixed_ship By preparation time & shipping time; variable_ship By preparation time & extra time & shipping time.
Set shipping time fdoe_shipping_time none Set the time until a delivery order can be delivered. *Disclaimer - a calculated shipping time may not be applicable when using post code validation. Options: none None; fixedtime Fixed shipping time; calculate Calculate shipping time.
Fixed shipping time fdoe_shipping_fixed 0 Set a fixed time in minutes for shipping an order.
Setting Option ID Default Description
Show order times at Classic Menu page fdoe_order_times_menu yes
Add to customer processing e-mail? fdoe_add_to_processing no Add the order time to customer e-mails for processing order.
Add to customer completed e-mail? fdoe_add_to_completed no Add the order time to customer e-mails for completed order.
Add to new order e-mail? fdoe_add_to_neworder yes Add the order time to store admin e-mail (New Order).
Add to “Thank You” page? fdoe_add_to_thank_you no Add the order time to the “Thank You” page showing when an order is received.

A delivery mode needs to be enabled when to use the time picker.

Setting Option ID Default Description
Selectable days fdoe_timepick_days_qty 2 Set the number of days to pick time from
Enable maximum orders or items per time slot fdoe_max_slot_enable no Options: no Disable; yes Orders; items Items.
Choose categories to include fdoe_max_slot_cats Select product categories to include when counting the items per time slot Options: your product categories.
Set maximum orders/items per time slot fdoe_max_slot 999 Set the maximum quantity of orders/items per time slot
Preselect closest timeslot fdoe_preselect_time no Preselect the closest available time slot (Only when date is today)
Time Picker Placement fdoe_time_picker_placement before_details Select where on checkout page to place the time picker Options: before_details Before Customer Details; first_in_details First at Customer Details; after_order_notes After Order Notes; before_payment Before Payment; after_place_order After Place Order.
Show time ranges? fdoe_timepicker_ranges no Display time as ranges instead of a specific time
Date format fdoe_timepicker_dateformat default Choose the date format of the date picker. Options: default From general WordPress settings; custom Custom format.
Custom date format fdoe_timepicker_dateformat_custom F j, Y Date formatting documentation
When start showing “As soon as possible” fdoe_time_before_asap 60 How many minutes before first timeslot to show “As soon as possible” as first timepicker choice.

Let the customer choose a time for when to pick up their order.

Setting Option ID Default Description
Enable fdoe_pickuptimes_enable no This enables the time picker on the checkout page. To open slot times it is also needed to add a schedule for the time picker at the “Availability Schedule” settings tab.
Postpone fdoe_pickup_postpone no Postpone times available for selection using the configuration in the “Order Time Management” Tab.
When to start count processing orders/items? fdoe_pickup_start_count_processing 1440 If time slots are postponed with extra time, choose how many minutes before its time slot a processing order will be included in the postponement. Processing orders without any time slot will always be included.
Step fdoe_pickuptime_step 15 Set the time step in minutes from which customers can choose from
As soon as possible? fdoe_show_asap_pickup no Show “As soon as possible” as first choice when time slots are available

Let the customer choose a time for when to expect their order to be delivered

Setting Option ID Default Description
Enable fdoe_deliverytime_enable no This enables the time picker on the checkout page. To open slot times it is also needed to add a schedule for the time picker at the “Availability Schedule” settings tab.
Postpone fdoe_delivery_postpone no Postpone times available for selection using the configuration in the “Order Time Management” Tab.
When to start count processing orders/items? fdoe_delivery_start_count_processing 1440 If time slots are postponed with extra time, choose how many minutes before its time slot a processing order will be included in the postponement. Processing orders without any time slot will always be included.
Step fdoe_deliverytime_step 15 Set the time step in minutes from which customers can choose from
As soon as possible? fdoe_show_asap_delivery no Show “As soon as possible” as first choice when time slots are available

Create and maintain the pickup locations used by Food Online checkout flows.

Add schedules for different applications and certain product categories and tags. The “Default” mode is active when the delivery feature is disabled.

These settings control the delivery selector, mode switching and address-validation flow on the classic Food Online menu page. Some of them also influence the related classic checkout after a customer has already chosen a delivery mode.

These settings control the delivery selector and related mode behaviour on the classic Food Online menu page.

Setting Option ID Default Description
Classic delivery selector fdoe_classic_delivery_switcher_mode no Select how the legacy delivery selector should behave on the classic Food Online menu page. Options: no Disable; yes Show Delivery Switch; dropdown Show Dropdown Selector; only_delivery Only Delivery; only_pickup Only Pickup.
Display menu by mode? fdoe_menu_by_mode no Show specific menus for the different delivery modes by scheduled categories.
Dropdown Selector Choices fdoe_delivery_dropdown_choices Select choices for the delivery dropdown. Options: pickup Pickup; delivery Delivery; eathere Eat at Restaurant.
Default delivery mode? fdoe_default_for_switch pickup Select the default mode of the selector at page load. Options: pickup Pickup; delivery Delivery; eathere Eat at Restaurant (only for dropdown).
User selection mandatory? fdoe_3way no Make the initial state of the delivery selector neutral and thereby force the user to make an active choice.
Start with delivery selection page? fdoe_start_page no Show a start page that lets users choose among the available delivery choices.
Empty cart on selection? fdoe_empty_cart no Empty the cart when a user selects a new delivery mode.

These settings control the classic menu-page delivery address and postcode validation flow, including geolocation and Google Maps integration. They are not configured in the Food Online Shipping Mode block editor. The standalone Food Online Delivery block has its own block-level map and API settings.

Setting Option ID Default Description
Delivery Address & Post Code Validation fdoe_skip_address_validation no Choose whether the classic menu-page delivery flow should validate a delivery address or only a delivery post code before checkout. Options: yes No validation; no Address validation; zip Post Code Validation.
Geolocate user position? fdoe_geolocate_position no Add the ability for users to geolocate their position.
Geolocation accuracy fdoe_max_accuracy 2000 Maximum accepted accuracy in meters.
Google Maps API Key fdoe_google_maps_api Visit Google to get your API Key »
Google APIs fdoe_google_api_mode new (legacy for sites that had a key before 6.0) Used by the classic address search and the calculated delivery time. Sites that used Food Online before 6.0 stay on the legacy APIs so existing keys keep working. Switch after enabling the current APIs for your key. Google projects created after March 2025 cannot enable the legacy APIs. Options: new Current APIs (Places API (New), Routes API); legacy Legacy APIs (Places API, Directions API).
– fdoe_address_advanced no View advanced options
Autocomplete Suggestion Types fdoe_autocomplete_types You may restrict results from an address autocomplete request to be of a certain type.Learn more. Options: geocode geocode (Recommended); address address; establishment establishment.
Geocode Response Types fdoe_result_types You may restrict results from an address geocode request to be of a certain type.Learn more. Options: street_address street_address (Recommended); premise premise (Recommended); subpremise subpremise (Recommended); establishment establishment (Recommended); intersection intersection; neighborhood neighborhood; point_of_interest point_of_interest; postal_code postal_code; restaurant restaurant; plus_code plus_code; route route.
Pick Delivery Location from Map fdoe_pick_delivery_location no Options: no Disable; at_fail When address geolocation fails.
Allow users to bypass address validation? fdoe_bypass_address no Allow users to skip address validation on the classic menu page and instead handle the delivery address later at checkout.
Show colors as validation feedback? fdoe_delivery_colormode no Color code the classic menu-page delivery validation messages and forms depending on positive or negative validation result.
Delivery message format fdoe_message_format print Choose how to show the classic menu-page delivery validation messages. Options: popup Popup; print Print out.
Add shipping cost suffix to the delivery notice? fdoe_del_message_price_suffix yes Add a shipping cost suffix to the classic menu-page delivery notice shown after address validation. Options: yes Add cost; no Do not add suffix.

This page controls checkout-specific behaviour. The classic menu-page delivery selector and address validation flow are configured in Classic Delivery Flow. Checkout Blocks configuration, including delivery modes, selector styling and custom block-owned checkout fields, is configured in the Food Online Shipping Mode block.

Setting Option ID Default Description
Checkout engine fdoe_checkout_engine blocks Select which checkout system Food Online should target. Options: classic Classic checkout; blocks Checkout Blocks.

These rules apply regardless of whether you use classic checkout or WooCommerce Checkout Blocks.

Setting Option ID Default Description
Minimum Order Value fdoe_min_order 0 Set a minimum order value limit for delivery, default is 0 which means no limit.
Minimum Items per Order fdoe_min_order_items 0 Set a minimum of items per order for delivery, default is 0 which means no limit.
Show delivery mode in admin orders table? fdoe_admin_order_mode no Add a column to the admin orders table to show the selected order type?

These settings apply only to classic [woocommerce_checkout] after the customer has already made a delivery choice in the classic Food Online menu flow.

Setting Option ID Default Description
Pickup Location Placement fdoe_pickuplocation_placement before_payment Select where on checkout page to place the location picker Options: before_payment Before Payment; before_details Before Customer Details; first_in_details First at Customer Details; after_order_notes After Order Notes; after_place_order After Place Order.
Show only the best shipping method? fdoe_only_one_method_at_checkout no At checkout, show only a single shipping method with lowest rate.

Configure which simplified checkout fields should be used by classic [woocommerce_checkout].

Setting Option ID Default Description
Checkout fdoe_limited_fields woo_default Checkout field for “Pickup” or when the delivery Switch is turned off. Options: phone Phone Only; e-mail Phone and E-mail; name Phone, E-mail and Name; woo_default Default Woocommerce Setup.
– fdoe_limited_fields2 woo_default Checkout field for “Delivery” choice Options: limited Limited field; woo_default Default Woocommerce Setup.
Make address fields disabled fdoe_make_disabled yes Make address fields disabled for validated delivery addresses
– fdoe_eathere_checkout woo_default Checkout field for “Eat at Restaurant” choice Options: table_nr Only Table Number; name Only Name; woo_default Default Woocommerce Setup.

Classic menu performance and compatibility

Section titled “Classic menu performance and compatibility”

Settings for the classic shortcode/shop menu, product popup, and theme compatibility workarounds.

Setting Option ID Default Description
Lazy load classic menu images fdoe_lazy_load_menu no Load classic menu product images shortly before they enter the viewport.
Classic menu loading skeleton fdoe_loading_overlay no Show classic menu skeleton placeholders while JavaScript builds the menu.
Allow multiple Food Online shortcodes fdoe_force_shortcode no Support workaround for pages that intentionally render more than one Food Online shortcode. Leave disabled unless needed.
Preload product popup content fdoe_fallback_modal no Render product popup content in the initial page output instead of loading it on demand. Use for theme or plugin conflicts; this can increase initial page size.
Ignore theme popup quantity buttons fdoe_deactivate_plus_minus_js_buttons no Stops Food Online from handling existing .plus/.minus buttons in product popups. Use only when a theme or plugin already handles those buttons.
Sort classic menu products by title fdoe_product_sorting_title no Sort classic shop/menu product queries alphabetically by product title when Food Online controls the query.
Show Food Online quantity buttons in product popups fdoe_product_quantity_buttons no Add Food Online plus/minus controls around WooCommerce quantity inputs in classic product popups.

Classic checkout and address troubleshooting

Section titled “Classic checkout and address troubleshooting”

Compatibility settings for the classic checkout/address flow: delivery validation, address helpers, session handling, error notices, and time picker refresh. These settings do not configure Checkout Blocks helper blocks.

Setting Option ID Default Description
Allow worldwide Google Autocomplete suggestions fdoe_restrict_country no Default restricts the classic Google Autocomplete address field to the selected/customer country when available. Enable this for border regions or international address searches.
Use browser geolocation for address suggestions fdoe_browser_geolocation yes Ask the browser for location access to bias classic Google Autocomplete results and center the pick-from-map flow.
Show classic WooCommerce checkout errors fdoe_show_error_messages no Force hidden classic WooCommerce error notices to display after checkout validation errors.
Start WooCommerce session from classic menu fdoe_early_set_cookie no Menu/session workaround: call the Food Online AJAX session endpoint after the classic menu loads so WooCommerce has a customer session before cart or checkout actions.
Skip Food Online delivery address validation fdoe_disable_checkout_validation no Lets customers continue when Food Online has not approved the delivery address or postcode. Shipping methods remain visible; use only when validation should be advisory or handled elsewhere.
Refresh classic time picker after checkout updates fdoe_ajax_checkout no Rebuilds the Food Online time picker fragment and reinitializes the classic time picker after WooCommerce updates checkout totals or shipping. Checkout Blocks are not affected.

Database cleanup option used only when the plugin is deleted.

Setting Option ID Default Description
Delete Food Online options and transients on uninstall fdoe_clean_settings no When this plugin is deleted, remove Food Online options, premium options, legacy activation flags, and Food Online transients from the database.