Beskrivelse
Create a stylish, responsive restaurant menu and add it to your site in minutes. With the easy-to-use builder and the included layout and customization options, you'll have it set up in no time.
This restaurant plugin can also be used to enable a food ordering system directly on your site. This is available in the ultimate version, which you can read about in the Food Ordering section below.
Key Features
- Unlimited restaurant menus and menu items.
- Responsive layout, so your restaurant menu looks great on mobile and all devices.
- Add your restaurant menu to any page via the included Gutenberg blocks and shortcodes.
- Add a menu directly into any of your restaurant site's block theme templates via the included patterns.
- Add unique photos and prices to each food or drink menu item .
- Optional sidebar to display your restaurant menu sections, for quick navigation.
- Full restaurant menu schema structured data automatically integrated, so Google can correctly identify your page as a menu and use it accordingly in search results.
- Create a QR code that you can use in restaurant to let your guests see your online menu.
Webalive Restaurant Menu is very user friendly and comes with a walk-through that runs automatically when you activate the plugin and will help you create your first menu items, add the menu to your site and set key options!
Restaurant Menu QR Code
The plugin comes with the ability for you to generate a QR code that leads directly to your online menu. You can place these, for example, at the tables in your restaurant, so guests can scan them and gain easy and quick access to the restaurant menu page on your website.
There are several great benefits to utilizing your online menu in your restaurant, including:
- Quick updates: You can instantaneously make changes to your restaurant menu. No matter how small or big the change you need to make is, you won't need to reprint anything or explain it to every customer.
- Save money and trees by avoiding the need to print your restaurant menus.
- Creates a more contactless experience, no longer having menus shared between all customers.
Restaurant Menu Sections
The plugin comes with the ability to create separate restaurant menu sections. This allows you to divide a menu into multiple parts, making it more clear for your customers. You can even include a note for a section (e.g. "All items in this section come with salad or fries."). Some examples of sections you can create are:
- Appetizers
- Main Course
- Dessert Menu
- Kid's Menu
- Gluten Free Menu
- Weekly Specials
You can then add a sidebar to your restaurant menu page, which lists all your sections, so your guests can quickly find what they're looking for.
In addition to this, you can also create completely separate and customizable restaurant menus. This feature can be used for several different purposes including individual menus for different meals, but also separate menus for drinks or snacks. It even works great if your restaurant is split up into different areas (e.g. a dining hall, a cafe, a bistro, etc.). Some examples of individual menus you can create are:
- Breakfast
- Brunch
- Lunch
- Dinner
- Wine
- Drinks
- Snacks
- Cafe Menu
- Specialties
- The possibilities are endless!
More Features!
Several additional features are included that will help ensure you're able to set your restaurant menu up easily and with all the options you need. They will also enable you to deliver the best and easiest drink and food menu experience for the visitors to your restaurant's website. These features include:
- Extra Gutenberg blocks to display individual sections or items on a page (instead of just a whole menu).
- Several extra patterns, so you can integrate restaurant menus, sections and individual items directly into your block theme.
- Ability to add multiple prices for a single item.
- Advanced template system for further layout customization of your restaurant menu(s).
- Simple compatibility with WPML for multi-language sites.
- Restaurants can add a footer to each drink or food menu for legal disclaimers or other notes.
- Display reviews for restaurant menu items (requires the premium version of the Webalive Restaurant Reviews plugin).
- Add a submit review form to restaurant menu items (requires the premium version of the Webalive Restaurant Reviews plugin).
- Widgets to display quick restaurant menu items in your sidebar or footer.
Premium Restaurant Menu
With the premium version of the plugin, you can extend the functionality of your restaurant menu to offer your guests the best possible experience. This includes multiple layout options, the ability to add custom fields to your menu items, sorting and filtering options, and much more.
Premium features include:
- Additional responsive restaurant menu styles/layouts, including:
- The Refined style, which displays your restaurant menu in an elegant layout, without images, like you may find in an upscale restaurant.
- The Image style: Perfect for showcasing all the great photos you have of your restaurant menu items.
- The Ordering style: Designed and adapted for use specifically with the ordering features available in the ultimate version, this layout makes browsing, adding to cart and checking out a breeze.
- The Luxe style: A variation on the Refined style, this minimalist layout gives a luxury feel to your restaurant menu and fits in any theme.
- Custom fields to add any extra info you want to your restaurant menu items.
- Sorting, filtering and search options to let your customers find the exact meal or item they're looking for.
- Icons to indicate dietary and ethical requirements, including organic, gluten-free, kosher, halal and many more.
- Badges for item features, specials and sales.
- Special/discount pricing.
- Google maps to show off local suppliers or ethical sourcing programs.
- Add a related items section to the single menu item page.
- Labelling options that let you change the wording for all the labels displayed on the front end of the plugin.
- Advanced styling options to change the fonts, colors, widths, borders, etc. of the different restaurant menu elements on your restaurant site.
By combining the sorting/filtering/search options with the badges, dietary icons and specials, you can be sure that your guests will be able to locate the best possible menu items for them in no time at all.
Food Ordering (Requires Ultimate Version)
The ultimate version of the Webalive Restaurant Menu plugin lets you add a complete food ordering system to your restaurant website. Stop paying commissions to third-party services and start offering ordering directly on your site.
Key features of the food ordering platform include:
- Add-to-cart buttons for all restaurant menu items.
- Intuitive cart that fits into any theme and lets customers easily add items directly from the your restaurant menu and check out.
- Options to have the responsive cart display at the bottom of the screen or on the side.
- Require payment immediately or give your customer the option to pay at the restaurant.
- Use Stripe payment intents (see below for details) or PayPal as your payment gateway.
- Create unlimited notifications, which can be sent via email and/or SMS to the restaurant admin and the customer when a new order is placed and/or whenever the status is changed for a food order.
- Easy-to-use admin interface lets you quickly manage your orders.
- Advanced order edit screen, via which you can update the customer information, the items in the order, the order status as well as the payment amount.
Setting it up couldn't be easier. When you enable the ordering feature, an "Add to Cart" button will appear on each restaurant menu item, which will let you add as many items as you want to the cart. There are also options to enable advanced ordering features, which let you have multiple prices per item as well as add-ons that guests can select when adding items to their cart.
From the cart, you can then increase and decrease the quantity, remove items and view any special requests or add-ons. Checkout is a breeze with the included options. You can set it so that customers are required to pay right away at checkout or give them the option to pay when they pick the food up at your restaurant.
Combine this with the available custom fields feature, which lets you add new inputs to the order form, and you can set up the checkout process however you like. For example, you could have an option for delivery and then require immediate payment either via Stripe or PayPal.
Stripe Payment Intents
The Stripe payment gateway now makes use of their payment intents system. With this you can enable many different types of payment methods, all directly from within your Stripe account. These include credit card, Apple Pay, Google Pay, direct debit, Afterpay and many other country- and region-specific methods.
There is now also an option to take payments as holds and then charge/capture the payment at a later time. You could use this, for example, to only capture the payment once someone has arrived at the restaurant to pick up their food.
Further customization features for the restaurant ordering system include:
- Add-ons for menu items, which can be selected when adding to cart (e.g. extra toppings).
- Restrict when ordering should be available by setting up a schedule.
- Set a minimum order total (e.g. in dollars, euros, etc., depending on your chosen currency).
- Option to temporarily pause ordering (e.g. you are at capacity in your restaurant or for orders).
- Alternatively, set a maximum number of orders that you can take.
- Fields for the customer to leave notes for both individual items and the overall order.
- Add custom fields to the order form (e.g. if you require extra info from your customers, want to offer delivery, etc.).
- Styling and labelling options to further customize the order form.
Once an order is placed, you will receive a customizable notification that contains all of the order information. This is also created as an order in the plugin admin panel, where you can view all the details and also change the status and edit the order. Your customers can then view the order status right on your menu page via an intuitive order progress bar.
There are further options to customize the ordering experience by setting specific hours when the ordering should be available as well as advanced features that let you add customization options to each menu item (e.g. "Add bacon", "Upgrade to onion rings", etc.). There is also an array of styling options to modify the colors of the ordering elements, including the buttons, the cart and the progress bar.
This plugin is one part of our suite designed to give you the best WordPress restaurant experience. Check out the powerful Restaurant Reservations plugin and let your customers reserve a table directly on your site. With its intuitive and easy-to-use interface, you'll be sure to not lose out on business to your competitors.
Help and support
Ændringslog
2.6.26 (2026-05-22)
- Compatibility: Tested with WordPress 7.0.
2.6.25
- Improve: Price column in the Menu Items admin list now shows the edit (pencil) icon and the price summary on the same line.
2.6.24
- Fix: Clicking the pencil edit icon in the Price column did nothing because the click handler only matched the anchor element, not the inner dashicon. Now matches the closest
.wfdm-item-price-editso clicks on the icon open the inline price editor as expected.
2.6.23
- New: Description column in the Menu Items admin list now supports inline editing — opens via a pencil edit icon and saves via AJAX (mirrors the price edit flow).
- Improve: Price column edit action is now a pencil icon in front of the price instead of a separate "Edit Price" text link.
2.6.22
- Improve: Stop-ordering toggle button on the Orders page is now placed inside the bulk-actions row so it stays on the same baseline as the other controls.
- Improve: Frontend inline layout for menu items without an image is now forced with higher CSS specificity so it overrides pro styles (luxe, refined, etc.).
- New: Menu Sections taxonomy now uses a checkbox selector (category-style) on the menu item edit screen instead of a free-text tags input.
- New: Menu Items admin list now includes a Description column (clamped to 2 lines).
2.6.21
- New: Added a "Stop ordering temporarily" toggle on the Orders admin page (placed on the bulk-actions row). When stopped, the Add to Cart button is hidden on the frontend regardless of other settings.
- New: Frontend menu items without images now render title, description and price on the same line.
2.6.20
- Fix: Add to Cart button now gated by
enable-payment(the toggle on the Payment tab that admin actually toggles), notwfdm-enable-ordering. This matches what the admin UI controls.
2.6.19
- Fix: Two admin tabs were both registered with the title "Ordering" (
wfdm-ordering-tabandwfdm-payment-tab). The second one shadowed the first, so the realwfdm-enable-orderingtoggle was never reachable in the UI and could never be turned off. Renamedwfdm-payment-tabtitle to "Payment". The Ordering tab now actually shows theEnable Orderingtoggle.
2.6.18
- Fix: The toggle on the Payment tab labelled "Enable Ordering" actually controlled the
enable-paymentoption, notwfdm-enable-ordering. Renamed the label to "Enable Payment" so it matches what it does. This was the real reason the Add to Cart button never disappeared: the user toggled what they believed was "Enable Ordering", but only the payment flag changed. - Removed diagnostic logging from the SAP
sanitize_callback.
2.6.17
- Diagnostic: Temporary logging added around the save flow for
wfdm-enable-orderingto trace what is POSTed, whatsanitize_callbackproduces, and what is finally written to the option. To be removed once the root cause of the toggle save bug is identified.
2.6.16
- Simplified ordering gate in
View.Item.class.php(removed redundantis_open_for_ordering()checks; theadd_to_cart.phptemplate guard plus$ordering_enabledflag are sufficient).
2.6.15
- Fix: Corrected the guard in
wfdm-templates/content/add_to_cart.phpso it again uses onlyget_setting('wfdm-enable-ordering'). The 2.6.14 logic also returned when the (normally unused) extra-settings key was missing, which always evaluated true and unintentionally hid the button even when ordering was enabled. Removed diagnosticerror_logoutput.
2.6.14
- Fix: Strengthened guard in
wfdm-templates/content/add_to_cart.phpto inspect the raw stored option values directly (wa-food-and-drink-menu-settingsandwa-food-and-drink-menu-extra-settings) in addition toget_setting(). If any of them indicates ordering is off (missing key, empty,'0','false','no','off'), the template returns immediately. Diagnosticerror_logoutput added to expose which value was actually evaluated.
2.6.13
- Fix: Hard guard added at the top of
wfdm-templates/content/add_to_cart.php— the template now returns immediately whenwfdm-enable-orderingis disabled. This guarantees the Add to Cart button (incl.wfdm-options-add-to-cart-buttonvariant) is never rendered, regardless of caller, theme override, or filter chain.
2.6.12
- Cleanup: Removed no-op defenses for the ordering toggle. The effective gate is now solely the element-level guard in
View.Item.class.php(skipsorderingelement so its template is never included) combined with the boolean normalization ofwfdm-enable-orderinginclass-settings.php. Removed:else { unset content_map['ordering'] }inView.class.php(dead —print_elements()gates on$elements, not$content_map), thewpaction that auto-applied thewfdm-hide-ordering-featuresbody class (CSS plaster), and the duplicated hide rule inbase.css.
2.6.11
- Fix: Add to Cart button now correctly hidden when ordering is disabled (removed from content map at the source)
2.6.10 (2026-05-15)
- Fixed: Add to Cart button now reliably hidden when ordering is disabled. The hide CSS rule is now in base.css (always loaded) instead of fdm-ordering.css (only loaded when ordering is active).
2.6.09 (2026-05-15)
- Add to Cart is now hidden via
wfdm-hide-ordering-featuresbody class injected automatically on frontend whenwfdm-enable-orderingis off. This suppresses the button at CSS level regardless of template or cache.
2.6.08 (2026-05-15)
- Fixed ordering toggle evaluation centrally in settings retrieval:
wfdm-enable-orderingnow normalizes string values ("false","0","off", etc.) to real false, preventing Add to Cart and other ordering UI from rendering when ordering is disabled.
2.6.07 (2026-05-15)
- Enforced Add to Cart visibility guard in item rendering: when
wfdm-enable-orderingis disabled, theorderingelement is always removed and not shown on the frontend.
2.6.06 (2026-05-15)
- Admin list for
post_type=wfdm-menu-itemnow correctly applies WFDM column hooks so the list shows menu item title, section(s), and price columns.
2.6.05 (2026-05-15)
- Import updated to accept only CSV and Excel XLSX files (
.csv,.xlsx) in upload validation and import UI guidance.
2.6.04 (2026-05-15)
- Sidescreen cart row controls updated: quantity now appears before amount with
-and+buttons around the value. - Replaced
Fjerntext action with anXicon positioned directly after the line amount.
2.6.03 (2026-05-15)
wfdm-disable-cartimgis now enforced in cart rendering: when enabled, cart item images are not output in the sidescreen/bottom cart item rows.
2.6.02 (2026-05-15)
- Cart quantity updates are now immediate: changing quantity recalculates line totals and order total instantly in the UI and syncs quantities to the cart via AJAX right away (debounced while typing).
2.6.01 (2026-05-15)
- Fixed payment toggle default visibility:
wfdm-order-payment-toggle-optionnow gets an explicit selected class based onwfdm-default-payment-preference, and frontend JS keeps selected state classes in sync.
2.6.00 (2026-05-15)
- Cart checkout title now uses a direct inline style on
#wfdm-ordering-sidescreen-contact-headerfromwa-food-and-drink-menu-settings[wfdm-cart-checkout-font-size]with!important. wa-food-and-drink-menu-settings[wfdm-default-payment-preference]now directly controls the default checked option in#wfdm-order-payment-toggle(online vs personal) without excluding QuickPay.
2.5.99 (2026-05-15)
wfdm-cart-checkout-font-sizeis now applied more robustly to#wfdm-ordering-sidescreen-contact-header(numeric values are accepted and treated as px).- Payment tab: added new setting right after Enable Payment to choose default payment preference (
onlineorpersonal). - Sidescreen payment toggle now respects the saved default preference when both payment options are available.
2.5.98 (2026-05-15)
- Fixed PHP warning in Advanced tab cart settings: added safe fallback for
wfdm-cart-input-text-typedefault lookup when the defaults array key is missing.
2.5.97 (2026-05-15)
- Added new SAP standard CART settings in Advanced tab (
page=wa-food-and-drink-menu-settings&tab=wfdm-advanced-tab):- Input text style: Label or Placeholder
- Order Submit button color (same SAP colorpicker method as other color settings)
- Check Out font size
- Wired the new settings to the sidescreen cart UI.
2.5.96 (2026-05-15)
- Added dedicated mobile variant for WFDM sidescreen cart: tighter row spacing, smaller thumbs/text/controls, compressed totals block, and denser checkout fields for better phone usability.
- Payment toggle slider refined for small screens with compact pill sizing.
- Fixed oversized checkout title in compact styling so typography scales correctly on mobile.
2.5.95 (2026-05-15)
- WFDM sidescreen cart usability refresh: ordered-items list is more compact, with reduced spacing and smaller visual weight in each row.
- Checkout form density improved: Name/Email/Phone/Table/Note fields now use tighter spacing and smaller paddings so the form fits better on mobile.
- Payment choice (pay in store / pay online) redesigned as a compact slider-style segmented toggle while preserving existing radio behavior.
2.5.94 (2026-05-14)
- Sidescreen cart spacing tightened further: Antal/Fjern row now sits directly under the title (no big vertical gap), Fjern aligns next to Antal instead of jumping to the far right edge, and the row no longer indents under the thumbnail. Item rows are noticeably shorter.
2.5.93 (2026-05-14)
- Sidescreen cart compact look (forced): the 2.5.92 redesign was being overridden by other rules / themes. Selectors are now scoped via
.wfdm-ordering-sidescreen.wfdm-ordering-sidescreen(doubled class for higher specificity) and key sizing/padding/border-radius use!importantso the compact 2026 layout wins on every site.
2.5.92 (2026-05-14)
- Sidescreen cart redesign (more compact, 2026 look): tighter padding, smaller item rows, smaller thumbnail (64px, rounded), tighter typography, subtle hairline dividers, rounded chip-style quantity input, flatter totals/tax/footer block with less vertical space, modern delete-button hover. Bottom cart variant unchanged.
2.5.91 (2026-05-14)
- Dashboard footer: replaced legacy
webalivetextlogowithadd.pngwith the squarewebalive_blueduck.svgbrand mark, sized 135x135 (square) with matching responsive centering.
2.5.90 (2026-05-14)
- Migration visibility: the success notice is no longer one-shot and now shows on every wp-admin page until dismissed, with a full per-step breakdown (precleanup deletes, option_name renames, post type / taxonomy renames, meta key + meta value rewrites, capability / cron / cache cleanup) so it is obvious from the dashboard that the migration ran.
- Safety reaffirmed (no code change needed): step 0 pre-cleanup deletes a
wfdm-*/WFDM_*/wa-food-and-drink-menu-settingsrow ONLY when itswwfdm-*/WWFDM_*/woo-wa-food-and-drink-settingstwin exists in the same table (INNER JOIN). On a fresh install with no legacy data, nothing is deleted.
2.5.89 (2026-05-14)
- Migration bugfix (the real one): previous versions failed silently because the renamed plugin auto-creates default rows on first activation (
wa-food-and-drink-menu-settings, pluswfdm-*standalone options). Those defaults sat under the newoption_name. When step 1 then tried to rename the legacywoo-wa-food-and-drink-settings(orwwfdm-*) row, MySQL's UNIQUE index onoption_nameaborted the UPDATE - the legacy row survived but the default row kept winning, so every settings page showed defaults.- New step 0 (pre-cleanup) runs a series of
DELETE … INNER JOINqueries that drop any new-named row IF a legacy-named twin exists in the same table: wa-food-and-drink-menu-settings(whenwoo-wa-food-and-drink-settingsexists)wa-food-and-drink-menu-extra-settings(whenwoo-wa-food-and-drink-extra-settingsexists)- any
*wfdm-*row whosewwfdm-twin exists - any
*WFDM_*row whoseWWFDM_twin exists - INNER JOIN guarantees we never delete a defaults row on a fresh install with no legacy data.
- Step 1's existing UPDATEs then succeed without UNIQUE collisions.
- Cache is dropped immediately after the deletions so the rest of the migration sees the post-cleanup state.
- New step 0 (pre-cleanup) runs a series of
2.5.88 (2026-05-14)
- Migration: marker option
wfdm_migrated_from_wwfdmnow stores the plugin version that ran the migration (was a boolean truthy flag). The migration re-runs whenever the plugin version differs from the marker. This is intentional during the stabilization phase so each new release can re-attempt any rows that earlier versions failed to convert. Once we are confident the migration is complete we can revert to a one-shot check.
2.5.87 (2026-05-14)
- Migration bugfix: settings were not being deep-walked because the option-name rename done via direct SQL left WP's
alloptions/notoptionscache stale. The follow-upget_option('wa-food-and-drink-menu-settings')returnednull, sodeep_migrate_option()silently no-op'd and all thewwfdm-*keys inside the serialized blob survived.- Cache for
alloptions/notoptionsand the two settings option keys is now flushed immediately after the option-name rename, before the deep-walk runs. deep_migrate_option()now reads the row directly fromwp_options($wpdb->get_row) and writes back via directUPDATE, fully bypassing the options cache. This guarantees the deep-walk always sees the fresh row even if some other plugin has already populatedalloptions.
- Cache for
2.5.86 (2026-05-14)
- Migration: now does a full deep rewrite of stored values too, not just identifiers.
- New helper
deep_replace()walks arrays,stdClassobjects and scalar strings recursively, applying a single token map:woo-wa-food-and-drink-(extra-)?settings->wa-food-and-drink-menu-(extra-)?settings,woo-wa-food-and-drink->wa-food-and-drink-menu,wwfdm-menu/wwfdm-menu-item/wwfdm-order->wfdm-*,wwfdm-menu-section/wwfdm-menu-item-flag->wfdm-*,WWFDM_->WFDM_,wwfdm-->wfdm-,wwfdm_cron_jobs_10->wfdm_cron_jobs_10. Both array keys and string values are rewritten, at any depth. - The main + extra settings options now use this deep walker (was top-level keys only in 2.5.85).
- New step:
wp_postmetaandwp_termmetavalues are scanned viaLIKEfor any legacy token; matching rows are deserialized, deep-rewritten, and re-saved (handles e.g. saved query args referencingwwfdm-menupost type, custom-fields blobs withwwfdm-*keys, etc.). - New step: every other
wp_optionsrow whose value contains a legacy token is also deep-rewritten (e.g. dashboard widgets, user metaboxorder caches, third-party serialized data referencing the old slug). - Rows are only loaded when the value actually contains a legacy token, so the migration stays cheap on sites with no relevant data. Broken serialized values are skipped (never overwritten with corrupted data).
- New helper
2.5.85 (2026-05-14)
- Migration: also rename array keys inside the serialized settings blob. The legacy plugin stored keys like
wwfdm-currency-symbol,wwfdm-enable-ordering, etc. inside thewoo-wa-food-and-drink-settingsoption. Renaming only the option name (as 2.5.84 did) was not enough - the new code readswfdm-*keys, so every saved setting would have appeared blank after migration. New helpermigrate_settings_array_keys()deserializes bothwa-food-and-drink-menu-settingsandwa-food-and-drink-menu-extra-settings, renames any top-levelwwfdm-*/WWFDM_*keys towfdm-*/WFDM_*, and re-saves only when at least one key was changed. Detection step also now considers theextra-settingsoption.
2.5.84 (2026-05-14)
- One-shot DB migration. New class
fdmMigrationFromWwfdm(loaded onadmin_init) detects legacy data from the previouswoo-wa-food-and-drink/wwfdminstall and renames it in place to the newwa-food-and-drink-menu/wfdmidentifiers. Covers: post types (wwfdm-menu,wwfdm-menu-item,wwfdm-order), taxonomies (wwfdm-menu-section,wwfdm-menu-item-flag), allwwfdm-*/WWFDM_*options + transients, allWWFDM_*/_WWFDM_*post meta and term meta, themanage_WWFDM_ordersrole capability, and thewwfdm_cron_jobs_10scheduled event. Runs at most once per site (gated by thewfdm_migrated_from_wwfdmoption) and short-circuits silently if no legacy rows are present.
2.5.83 (2026-05-14)
- Internal rename / re-slug. Folder, main plugin file, text domain, all PHP constants, hooks, CSS classes, post type slugs and taxonomy slugs migrated from the old
woo-wa-food-and-drink/WWFDM/wwfdm-naming to the newwa-food-and-drink-menu/WFDM/wfdm-naming. Examples: post typeswwfdm-menu/wwfdm-menu-item/wwfdm-order->wfdm-menu/wfdm-menu-item/wfdm-order; taxonomieswwfdm-menu-section/wwfdm-menu-item-flag->wfdm-menu-section/wfdm-menu-item-flag; templates dirwwfdm-templates/->wfdm-templates/. Plugin abbreviation is now WFDM. No user-facing text changed. BREAKING for any existing install (data on old post types/options would be invisible) - safe only because the plugin has not been deployed to any site yet.
2.5.82 (2026-05-14)
- Plugin header: removed
for WooCommercefromPlugin NameandDescriptionsince the plugin does not actually depend on or integrate with WooCommerce (noWC()/wc_*usage). Name is nowWebalive Food and Drink Menu.
2.5.81 (2026-05-14)
- Plugin header: replaced the internal
built from the Food and Drink Menu codebase, ready for WooCommerce integrationdeveloper note inDescription:with a user-facing description (Restaurant menu and food ordering system for WooCommerce …).
2.5.80 (2026-05-14)
- Dashboard: in
MenuoversigttheSektionercell now stacks both menu columns vertically so all section badges are left-aligned in a single column instead of splitting into two side-by-side columns.
2.5.79 (2026-05-14)
- Branding: fixed
Wbebalivetypo toWebaliveacross PHP source (about-us page, block/pattern categories, Stripe capture error log) and readme. - About: removed the remaining references to the Webalive Restaurant Manager mobile app from the lite-vs-premium comparison page (app not yet available).
2.5.78 (2026-05-14)
- readme: removed references to the Webalive Restaurant Manager mobile app (app not yet available).
2.5.77 (2026-05-14)
- i18n: changed the WAQI dashboard link source string from Danish to English (
See more Webalive plugins ready to install) so Danish translation lives in.l10n.php/.po.
2.5.76 (2026-05-14)
- Dashboard: When the Webalive Quick Installer (WAQI) plugin is active, the
Other Plugins by Webalivewidget now shows a linkSe flere Webalive Plugin klar til installationpointing toplugin-install.php?tab=webalive.
2.5.75 (2026-05-14)
- Price formatting: amounts are now formatted using Danish/EU conventions (
.as thousands separator,,as decimal separator) and a non-breaking space is inserted between the currency symbol and the number, both for server-rendered prices (WFDM_format_price, related items, ordering sidescreen totals/tax) and for the prefix/suffix passed to the cart JS.
2.5.74 (2026-05-12)
- i18n: replaced hardcoded Danish source strings inside
__()/esc_html_e()calls with English equivalents inclass-order-payments.php(payment status labels),WP_List_Table.OrdersTable.class.php(orders list column headersTable no.,Date,Payment Amount / Payment Status), andwfdm-templates/admin-order-form.php(Capture paymentbutton). Danish translations now live exclusively in the.l10n.php/.polanguage files.
2.5.73 (2026-05-12)
- Moved dashboard
Menus Summarytable styling (column widths, sections layout, QR cell) from inline<style>to a dedicatedassets/css/dashboard.css, enqueued on WFDM admin screens. Sections column now uses fixed-width badges and stacks cleanly so titles no longer overflow other columns.
2.5.72 (2026-05-12)
- Added a new
QRcolumn to the dashboardMenus Summarytable (wfdm-overview-table) showing a QR code that links to each menu's permalink, with aDownloadbutton that saves the high-resolution PNG (uses the goQR.me public API).
2.5.71 (2026-05-12)
- Re-enabled REST support (
show_in_rest = true) for thewfdm-menupost type so front-end rendering works on themes (e.g. Colibri) that rely on it. Classic WooCommerce-style edit screen is preserved via the existing block-editor disable filter.
2.5.70 (2026-05-12)
- Menu (
wfdm-menu) edit screen now uses the classic WooCommerce-style metabox layout instead of the Gutenberg block editor (show_in_restdisabled and block editor turned off for the menu post type).
2.5.69 (2026-04-29)
- Tuned Orders table column widths so columns only use necessary space.
- Set
IDandBord nrcolumns to 10ch, reducedDatowidth, and increased payment status column width.
2.5.68 (2026-04-29)
- Added WA Members style card brand SVG icons in QuickPay payment listing (overview and detail).
- Method row now renders icon + brand + masked card number similar to WA Members.
2.5.67 (2026-04-29)
- Changed admin QuickPay payment card wording to strict WA Members wording format.
- Payment rows now follow WA Members naming (
ID,Method,Transaction Order ID) and status expressions.
2.5.66 (2026-04-29)
- Aligned QuickPay admin payment wording and status expressions to match WA Members style.
- Updated payment state badge labels to WA Members equivalents (e.g. captured shown as
Hentet). - Updated card method text formatting to WA Members style (
Brand ****last4).
2.5.65 (2026-04-29)
- Removed pagination from Orders list table (now displays all orders on one page).
- Added column visibility selector button (Kolonner) in Orders list for selective column display.
- Columns can now be toggled on/off: ID, Status, Date, Name, Email, Phone, Items, Note, Custom Fields, Payment Amount/Status.
- Hidden QuickPay payment info when online payment is not enabled (only shows for orders with payment processing).
- Ensured payment method card brand and number display consistently across all admin views.
2.5.64 (2026-04-29)
- Added detailed payment listing cards in both Orders overview and Add/Edit Order detail page.
- Added stored QuickPay payment snapshot fields (status, transaction id, method, acquirer, order reference) for stable admin display.
- Updated admin payment presentation to match card-style status/details flow similar to WA Members style.
2.5.63 (2026-04-29)
- Added admin action button to capture online payments directly from Orders list and Add/Edit Order page.
- Unified online capture handling for Stripe hold payments and QuickPay payments from admin.
- Added admin AJAX capture flow with updated payment status refresh after capture.
2.5.62 (2026-04-29)
- Added unified payment status labels for orders in admin.
- Orders list now shows clear payment status (e.g.
Betaling hos tjener, online pending, online completed, hold states). - Add/Edit Order page now shows payment status alongside payment amount.
2.5.61 (2026-04-29)
- Fixed QuickPay return flow to verify payment and persist payment amount/receipt on the order.
- Fixed order overview payment column so completed QuickPay payments are reflected correctly.
- Added customer receipt email trigger after verified QuickPay payment completion.
2.5.60 (2026-04-29)
- Added a SAP extension setting type for Ordering contact fields with two controls per field:
ShowandRequired. - Replaced the old required-only field list with the new Show/Required matrix in Ordering settings.
- Updated cart checkout rendering/validation to respect the Show + Required field matrix.
- Kept backward compatibility for old required-only saved values.
2.5.59 (2026-04-29)
- Added persistent cart memory for
WFDM_ordering_name,WFDM_ordering_email, andWFDM_ordering_phone(auto-restore on next visit). - Added optional
WFDM_ordering_tablefield support in Ordering settings and cart checkout form. - Added drag-and-drop contact field order setting used in cart checkout for enabled fields.
- Extended order submission/storage to include the optional table value.
2.5.58 (2026-04-29)
- Removed the explicit
Noneoption from Ordering > Payment Gateway. - No gateway selected now naturally means no online payment gateway is active.
- Kept backward compatibility for older saved
nonevalues in runtime gateway parsing.
2.5.57 (2026-04-29)
- Fixed activation failure on fresh installs caused by unexpected output during plugin load.
- Normalized encoding for core WFDM plugin files to avoid BOM/output before headers.
2.5.56 (2026-04-29)
- Changed Ordering > Payment Gateway to the same checkbox-style behavior as WA Table Booking.
- Gateway options now include
None,PayPal,QuickPay, andStripein one selection field. - Removed the separate
Enable QuickPaytoggle and made checkout/payment logic read selected gateway list directly.
2.5.55 (2026-04-29)
- Changed payment setup so QuickPay is now enabled via its own checkbox instead of being selected in the Payment Gateway radio field.
- Added checkout/cart QuickPay flow: when QuickPay is enabled and customer chooses online payment, the order is created and customer is redirected to QuickPay payment window.
- Updated sidescreen payment visibility logic so optional online payment works with QuickPay-enabled checkout.
2.5.54 (2026-04-28)
- Fixed menu item Custom Fields metabox rendering empty by restoring loading/parsing of
wfdm-custom-fieldssettings data. - Restored both menu-item and ordering custom field retrieval paths from stored settings JSON.
2.5.53 (2026-04-28)
- Expanded export to include important core fields: Discounted Price, Special, Flags, Source Name/Description/Address/Zoom, Related Items, and Featured Image ID.
- Keeps existing base columns and custom field columns in the XLSX export.
2.5.52 (2026-04-28)
- Cleaned exported
Descriptionvalues to plain text by removing HTML tags and Gutenberg block comments (e.g.<!-- wp:paragraph -->). - Prevents
<p>/block-comment noise in spreadsheet output for easier downstream processing.
2.5.51 (2026-04-28)
- Migrated import reading to OpenSpout for
.csvand.xlsxfiles. - Kept
.xlsimport support via PhpSpreadsheet fallback. - Maintained existing import format/column behavior and section auto-create logic.
2.5.50 (2026-04-28)
- Migrated XLSX export implementation from PhpSpreadsheet writer to bundled OpenSpout writer.
- Added bundled OpenSpout PSR-4 loader to support
/lib/openspout/srcwithout Composer autoload. - Keeps export output as native
.xlsxwhile avoiding previous ZipStream runtime issues.
2.5.49 (2026-04-28)
- Fixed corrupted XLSX downloads by clearing output buffers before writing export binary stream.
- Added header-state guard for export to prevent malformed files when output starts too early.
2.5.48 (2026-04-28)
- Fixed XLSX export fatal error on servers missing
ZipStream\\ZipStreamby adding a plugin-side ZipStream fallback implementation. - Export now loads fallback automatically when
zipstream-phpdependency is unavailable.
2.5.47 (2026-04-28)
- Fixed potential 500 error on export page by adding graceful XLSX export error handling.
- Export now checks for required PHP
ZipArchiveextension and shows an admin error notice instead of fatal error when missing.
2.5.46 (2026-04-28)
- Import now accepts
.csv,.xls, and.xlsxfiles. - Export remains native
.xlsxoutput.
2.5.45 (2026-04-28)
- Import now auto-creates missing menu sections when names in the
Sectionscolumn do not already exist. - Import page now includes a clear format guide (required headers, separators, and update behavior via ID) and limits file picker to
.xlsx.
2.5.44 (2026-04-28)
- Changed export format to native XLSX (no CSV), with proper XLSX content headers and filename.
- Changed import to accept only native
.xlsxfiles and updated import validation/error text accordingly. - XLSX import/export now preserves UTF-8/unicode content in spreadsheet cells.
2.5.43 (2026-04-28)
- Replaced "Select an icon" link with a proper button for the item flag icon selector, consistent with the Select Image button style.
- Added "Remove Icon" button that clears the selected icon and hides itself.
2.5.42 (2026-04-28)
- Fixed duplicate media picker window by binding the Select Image click handler directly on the element instead of via document delegation, ensuring
stopImmediatePropagation()prevents WP's own handlers from firing. - Changed button class from
buttontobutton-secondaryso WP's generic.buttonmedia hooks are not triggered.
2.5.41 (2026-04-28)
- Fixed two i18n warnings in Settings.class.php: replaced empty
__('')string with translatable'Yes', and moved embedded URL out of translatable string usingsprintf().
2.5.40 (2026-04-28)
- Fixed media picker opening twice (one with custom text, one with default English) by adding
stopImmediatePropagation()to prevent WP core handlers from also triggering on the same click. Frame is now properly removed after select or close.
2.5.39 (2026-04-28)
- Fixed section image media picker opening twice and requiring a double-select before inserting the image. Each click now creates a fresh frame with
.once('select')to avoid event accumulation. - Title and button text in the media picker are now passed through i18n via
wp_localize_script.
2.5.38 (2026-04-28)
- Added Description metabox to menu item edit screen to restore the short description field after Gutenberg was disabled in 2.5.37.
2.5.37 (2026-04-28)
- Replaced taxonomy section image URL text field with a proper media library picker (attachment ID stored directly, no more URL round-trip).
- Removed "Select Image" URL input — clicking "Select Image" now opens the WP media library; "Remove Image" clears the selection.
- Disabled Gutenberg block editor for the Menu Item post type — edit screen now uses the classic metabox layout (like WooCommerce products) without the content editor textarea.
2.5.36 (2026-04-27)
- Fixed admin Orders overview so row status dropdown changes are fully isolated from bulk actions, preventing stale bulk selectors/checked rows from turning a single
Forberederchange intoaccepteretbulk updates. - Inline status submits now send an explicit row-order ID and reset bulk selectors/checkboxes before submitting.
2.5.35 (2026-04-27)
- Fixed
Forberederorder status updates by replacing the overlongWFDM_order_preparingpost status slug with a valid shorter slug and normalizing legacy references. - Updated bulk, inline, notification, and progress-bar handling to use the normalized preparing status consistently.
2.5.34 (2026-04-27)
- Fixed inline status change reliability in admin Orders overview by auto-detecting row dropdown submits when no bulk rows are selected, regardless of stale bulk action selector values.
- Ensured inline status updates derive target order IDs directly from
WFDM_order_status[...]payload when needed.
2.5.33 (2026-04-27)
- Fixed inline status dropdown submit flow in admin Orders overview by removing nested row forms and processing submitted
WFDM_order_status[...]values even when bulk action fields are-1. - Ensured status changes like
Forberederare applied correctly from the list view.
2.5.32 (2026-04-27)
- Fixed inline order status updates in admin overview by mapping submitted status per order row, so selecting
Forbereder(and other statuses) updates the correct order reliably.
2.5.31 (2026-04-27)
- Fixed menu-section taxonomy images not being saved/persisted by correcting section term save hooks and term-meta lookup in
save_section_image(). - Updated menu-item-flag term save hooks to use the active
wfdmtaxonomy slug.
2.5.30 (2026-04-27)
- Fixed customer order progress auto-refresh after admin status changes by normalizing order status keys in the progress AJAX response.
- Hardened frontend order progress polling selector/update logic to handle mixed-case status values reliably.
2.5.29 (2026-04-27)
- Added inline order status selector in the admin Orders overview so status can be changed directly from the list table.
- Added handling for single-row status updates submitted from the overview status dropdown.
2.5.28 (2026-04-27)
- Replaced safe remaining legacy
-fdm-admin filter hooks with-wfdm-variants in custom post type and Yoast integration list-table hooks. - Updated admin header CSS body selectors from
post-type-fdm-*topost-type-wfdm-*.
2.5.27 (2026-04-27)
- Fixed admin orders list status filters/counts to handle mixed-case status keys safely (
WFDM_*vswfdm_*) without undefined array key warnings. - Fixed tax calculation hard crash in
WFDM_add_tax_to_price()by normalizing non-numeric tax/price input before math operations. - Continued legacy admin slug normalization to ensure order edit URLs use
page=wfdm-add-edit-order. - Updated admin menu highlight JS selector from
menu-posts-fdm-menutomenu-posts-wfdm-menu.
2.5.26 (2026-04-27)
- Normalized remaining admin order/dashboard links and page slugs from legacy
fdm-*towfdm-*for consistent admin routing. - Updated order edit page screen-ID checks/styles to use
admin_page_wfdm-add-edit-orderso admin header/assets load correctly on the add/edit order screen.
2.5.25 (2026-04-27)
- Fixed order progress rendering warnings by normalizing order status key lookup (
WFDM_*vs lowercasewfdm_*) before reading progress status values.
2.5.24 (2026-04-27)
- Updated checkout behavior so when
Pay Onlineis selected, submission hands off directly to the active payment method flow (PayPal/Stripe) instead of normal order submit.
2.5.23 (2026-04-27)
- Updated checkout payment UI so online payment form fields are shown only for implemented gateways (Stripe/PayPal).
- QuickPay no longer displays Stripe card input fields in the cart/checkout flow.
2.5.22 (2026-04-27)
- Removed view-layer permission checks so BASIC mode keeps all menu features available; feature visibility now follows existing WFDM settings only.
2.5.21 (2026-04-27)
- Updated block and related shortcode output to use
wfdmshortcodes ([wfdm-menu],[wfdm-menu-section],[wfdm-menu-item]) instead of legacyfdmshortcode names.
2.5.20 (2026-04-27)
- Fixed PHP 8.2 dynamic property deprecation for SAP text settings by declaring the
sizeproperty. - Fixed block metadata JSON decode notices by removing UTF-8 BOM from WFDM block JSON files.
2.5.19 (2026-04-27)
- Removed the temporary
ultimate-purchase-emailfallback sopurchase-emailis now the only supported setting key.
2.5.18 (2026-04-27)
- Renamed the legacy
ultimate-purchase-emailsetting key topurchase-emailand kept fallback reading of old saved values.
2.5.17 (2026-04-27)
- Removed the remaining FDM/FDMU/GRFWP trial reversion logic from WFDM so plugin settings are no longer reset by legacy license-trial code.
2.5.16 (2026-04-27)
- Removed legacy
RTB_Trial_HappeningandRTU_Trial_Happeningcleanup from WFDM, including their unused reversion methods.
2.5.15 (2026-04-27)
- Removed leftover
bpfwp-permission-levelandrtb-permission-levelhandling from WFDM version reversion cleanup.
2.5.14 (2026-04-27)
- Removed the leftover
fdm_ultimate_active()wrapper so the helper naming stayswfdm_only.
2.5.12 (2026-04-27)
- Removed remaining Ultimate dependency from SMS runtime notification transport (no license/purchase-email required).
- Removed WFDM plugin-side
FDMUtrial reversion checks. - Removed remaining legacy
fdm_ultimate_active()helper wrapper (keepwfdm_ultimate_active()only). - Disabled legacy RTU/Ultimate expired-license admin notice logic in WFDM.
2.5.13 (2026-04-27)
- Restored Ultimate compatibility helpers that were removed by mistake (
fdm_ultimate_active()wrapper andfsp_fdmu_version_reversion()method). - Kept functionality available in BASIC by using fallback runtime values for SMS transport when license/email settings are empty.
- Restored
ultimate-purchase-emaildefault setting fallback to admin email for compatibility.
2.5.11 (2026-04-27)
- Removed Ultimate-license dependency for SMS notification setup in settings.
- Removed purchase-email requirement for SMS settings and switched SMS notice text to basic-mode messaging.
2.5.10 (2026-04-27)
- Fixed fatal error in settings when premium helper updates object is unavailable (
retrieve_sms_credit_information()on null). - Added safe fallback credit information payload when premium helper is not initialized.
2.5.9 (2026-04-27)
- Removed deprecated dashboard sections tied to the undefined
$permissionvariable. - Removed legacy dashboard blocks wrapped in
/* ... */comments.
2.5.8 (2026-04-27)
- Fixed PHP syntax error in dashboard output block (
unexpected token "<"in class-dashboard.php).
2.5.7 (2026-04-27)
- Fixed: Payment section headings (PayPal, QuickPay, Stripe) now stay hidden on initial load when Enable Payment is off, and are shown with details when enabled.
- Added SAP-style password visibility toggles for QuickPay secret fields in WFDM (show_toggle support in password setting class + toggle script handler).
2.5.6 (2026-04-27)
- Fixed: Payment option section headers (PayPal, QuickPay, Stripe) are now hidden until Enable Payment is enabled.
- Fixed: QuickPay values are now copied/synchronized from WATB settings data (watb-settings) when WA Table Booking is installed.
2.5.5 (2026-04-26)
- Fixed regression where payment gateway option fields were not rendered after selecting a gateway.
- Payment gateway sections are now always registered so SAP conditional field visibility works immediately when toggling payment settings.
2.5.4 (2026-04-26)
- Fixed: PayPal, QuickPay, and Stripe sections now only appear in the Payment tab when Enable Payment is turned on.
- Fixed: QuickPay credential fields now correctly display values copied from WA Table Booking when set there and not overridden locally.
2.5.3 (2026-04-26)
- Reworked Payment tab to match WA Table Booking layout with separate SAP sections for General, PayPal, QuickPay, and Stripe.
- Removed QuickPay test/live setting and added QuickPay "Last used ordernumber" setting.
- Added shared QuickPay settings synchronization with WA Table Booking when both plugins are present (agreement, merchant, private/api/form keys and max order number).
- Added shared unique QuickPay order number reservation and persisted quickpay order number metadata on orders when QuickPay gateway is active.
2.5.2 (2026-04-26)
- Normalized internal settings callback method names from fdm* to wfdm* and updated all related filter registrations.
- Added wfdm_ultimate_active() helper and kept fdm_ultimate_active() as a backward-compatible wrapper.
- Removed legacy permission-dependent checks in extra template helpers so no feature visibility depends on removed permission objects.
2.5.1 (2026-04-26)
- Removed all check_permission() and get_permission() calls throughout the plugin; the fdmPermissions class is no longer instantiated.
2.5.0 (2026-04-26)
- Removed legacy basic/premium/ultimate permission split and unlocked all feature areas in settings and admin.
- Added separate Notifications and Payment tabs in settings and moved the related ordering sections to these tabs.
2.4.48 (2026-04-26)
- Added separate Notifications and Payment tabs in settings and moved the related ordering sections to these tabs so more settings tabs are visible.
2.4.47 (2026-04-26)
- Removed all legacy settings tutorial toggle references and disabled tutorial container output so no tutorial video block is rendered.
2.4.46 (2026-04-26)
- Started payment implementation for ordering flow by adding QuickPay-related admin settings (gateway option, mode, and credentials) in the Ordering > Payment settings.
2.4.45 (2026-04-26)
- Removed the dashboard "Get Support" widget box (
wfdm-dashboard-support-widget-box) and all of its support-link items.
2.4.44 (2026-04-26)
- Removed all
tutorial_yt_idreferences from settings tabs so the "Video Tutorial" button no longer appears on any settings tab.
2.4.43 (2026-04-26)
- Added deep theme-aware font discovery for styling font-family selects: detects active theme context and reads families from theme.json/global settings, Elementor kits (Hello Elementor), Astra options, Colibri options, theme mods, and WordPress core presets.
2.4.42 (2026-04-26)
- Reworked font-family source logic to prioritize fonts from the active theme (theme.json/global settings) and include WordPress core preset fonts, then use a minimal safe fallback only if neither source returns data.
2.4.41 (2026-04-26)
- Added hard fallback font-family option discovery for styling selects: read from global settings, global styles, and generated global stylesheet, and if still empty provide a built-in web-safe list so the dropdowns always have values.
2.4.40 (2026-04-26)
- Fixed font-family option discovery to support both grouped and flat WordPress typography fontFamilies structures, so selects populate correctly across themes/sites.
2.4.39 (2026-04-26)
- Removed inactive premium-helper files that are no longer loaded by the plugin bootstrap (upgrade handler, update handler, API handler, setup helper and push-notification helper).
2.4.38 (2026-04-26)
- Fixed font-family select dropdowns not showing available fonts by using the path-based wp_get_global_settings() call that returns a flat merged list of all registered font families.
2.4.37 (2026-04-26)
- Replaced styling font-family text inputs with site-font selects populated from the frontend typography fonts available in WordPress global settings.
2.4.36 (2026-04-26)
- Removed obsolete
fdm_*compatibility aliases for pricing and order-status helpers now that the codebase uses the WFDM names consistently.
2.4.35 (2026-04-26)
- Fixed legacy
fdm_*helper calls that could crash the integrated extra settings/order code after enabling premium features in the base plugin.
2.4.34 (2026-04-26)
- Migrated extra settings-tab code into the basic WFDM setup so advanced/ordering/custom fields/labelling/styling tabs use built-in settings definitions instead of licensed preview-only content.
2.4.33 (2026-04-25)
- Fixed all non-basic Settings tabs to always render their tab content in this fork, preventing blank tab pages.
2.4.32 (2026-04-25)
- Fixed permission evaluation so advanced/premium tabs render the correct content state instead of appearing blank.
2.4.31 (2026-04-25)
- Completed the remaining i18n cleanup across import/export screens, admin notices, walkthrough UI, review prompts, payment labels, and custom post type descriptions.
2.4.30 (2026-04-25)
- Added missing i18n wrappers for dashboard UI text, corrected text domains for item icon taxonomy labels, and localized the export status string.
2.4.29 (2026-04-25)
- Fixed menu item flag icons in admin taxonomy screens by correcting the icon font file paths in
base.cssto match the packaged font asset names.
2.4.28 (2026-04-25)
- Removed obsolete premium notice hooks, assets, AJAX handling, and admin messaging from the fork.
2.4.27 (2026-04-25)
- Renamed remaining admin page slugs and links from
fdm-dashboard/fdm-export/fdm-importtowfdm-dashboard/wfdm-export/wfdm-importfor consistentwfdmadmin routing.
2.4.26 (2026-04-25)
- Fixed admin menu and walkthrough links that still pointed to the old
fdm-*post type/taxonomy slugs and could trigger "Invalid post type" errors.
2.4.25 (2026-04-25)
- Renamed image assets from legacy branding: fsplogo.png → webalivelogo.png, fivestartextlogowithstar.png → webalivetextlogowithadd.png, fivestartextlogo.png → webalivetextlogo.png.
- Updated image references in dashboard and about-us pages to use renamed assets.
2.4.24 (2026-04-25)
- Updated branding in welcome/walkthrough screens from "Webalive" to "WebAlive".
- Replaced "Webalive Restaurant Menu" with "WebAlive Restaurant Menu" in deactivation survey and helper notice text.
2.4.23 (2026-04-25)
- Removed all nested
_notesfolders (145 DreamWeaver metadata directories) from the plugin package.
2.4.22 (2026-04-25)
- Removed the
_notesfolder and its contents from the plugin package. - Changed domain/text-domain references from
food-and-drink-menutowa-food-and-drink-menu.
2.4.21 (2026-04-25)
- Renamed plugin constant prefix to
WFDM_across plugin files. - Renamed class/id naming prefix from
fdmtowfdmin selectors/markup strings. - Replaced legacy branding wording with "Wbebalive".
2.4.20 (2026-04-25)
- Removed all old vendor references across plugin files and updated external links/contacts to WebAlive equivalents.
2.4.19 (2024-11-25)
- Removed several deprecated notices.
- Tested with WordPress 6.7.