Feature Reference

An exact lookup of Washlora content types, fields, options, shortcodes, blocks, admin screens, AJAX actions, hooks, templates and stored customer data.

Documentation home › Feature Reference

How to read this reference

Every row below was taken from the installed Washlora 2.0.0 theme (laundryes), the Washlora Core plugin (laundryes-core, version 2.0.0) and the Washlora Native Layouts plugin (laundry-native-layouts, version 1.0.0). Internal names still start with laundryes or laundry; they are the keys you will see in the database, in shortcodes and in code. Use this page to look up an exact name. For step-by-step instructions see Admin Screen Procedures and Feature Procedures.

Several features need other plugins: WooCommerce for ordering, tracking and the shop, Redux Framework for the Washlora Options screen, and Elementor, WPBakery or Contact Form 7 where a row says so. Nothing on this page is available if its plugin is deactivated.

Content types

Washlora Core registers 14 custom content types. All of them use the standard post capabilities, so a user needs edit_posts to see them in the admin. Washlora registers no custom taxonomies; shop data uses the WooCommerce taxonomies (for example product_cat).

SlugLabelAdmin menuSupportsVisibilityWhat it stores
laundry_serviceServicesTop-level Servicestitle, editor, thumbnail, excerpt, page-attributesPublic, REST, URL slug servicesService pages shown by [laundryes_services] and the Laundry Service single template.
laundry_packagePricing PackagesTop-level Pricing Packagestitle, editor, thumbnail, excerpt, page-attributesPublic, REST, URL slug packagesPricing cards shown by [laundryes_packages].
laundry_testimonialTestimonialsTop-level Testimonialstitle, editor, thumbnail, excerpt, page-attributesPublic, REST, URL slug testimonialsCustomer quotes shown by [laundryes_testimonials].
laundry_faqFAQsTop-level FAQstitle, editor, thumbnail, excerpt, page-attributesPublic, REST, URL slug faqsQuestions and answers shown by [laundryes_faqs].
laundry_branchBranchesTop-level Branchestitle, editor, thumbnail, excerpt, custom-fieldsPublic, RESTLocations used by [laundryes_branches], [laundryes_delivery_zones] and [laundryes_postcode_checker].
laundry_bookingBookingsTop-level Bookingstitle onlyPrivate, admin screen only, no RESTPickup and delivery requests (see Data and privacy).
laundry_slotPickup SlotsTop-level Pickup Slotstitle, custom-fieldsPrivatePickup time slots listed by [laundryes_slot_selector].
laundry_garmentGarment ItemsTop-level Garment Itemstitle, thumbnail, custom-fieldsPrivateOne record per garment tag, created at checkout and read by [laundryes_garment_tracker].
laundry_routeDelivery RoutesTop-level Delivery Routestitle, custom-fieldsPrivateRoute records. An order can point to one through the order meta _laundry_route_id.
laundry_driverDriversTop-level Driverstitle, thumbnail, custom-fieldsPrivateDriver name, photo and phone shown by [laundryes_driver_status].
laundry_quoteCommercial QuotesTop-level Commercial Quotestitle, custom-fieldsPrivateRequests sent with [laundryes_commercial_quote].
laundry_subscriptionRecurring PickupsTop-level Recurring Pickupstitle, custom-fieldsPrivateRequests sent with [laundryes_recurring_pickup].
laundryes_popupPopupsTop-level Popupstitle, editor, custom-fieldsPrivatePopup content shown in the site footer (see Fields).
laundry_classic_tplClassic TemplatesSubmenu of Servicestitle, editorPrivate, no RESTOne Classic Editor home template per niche, created by the template seeder and used by the one-click demo import.

Types that list custom-fields have no dedicated meta box. Their fields are edited in the Custom Fields panel (in the block editor, enable it under Preferences, Panels, Custom Fields).

Fields (post meta)

Only keys that Washlora code writes or reads are listed. Keys starting with an underscore are hidden from the Custom Fields panel by WordPress, so for those the “Where edited” column names the screen that saves them, or says that no screen does.

Services, pricing packages and testimonials

Meta keyContent typeLabel and meaningTypeWhere edited
_laundryes_priceService, Pricing PackageStarting price (service) or Price (package), shown on the cardTextMeta box Service Details or Package Details
_laundryes_unitServicePrice unit, for example per kg, per item, per bagTextMeta box Service Details
_laundryes_periodPricing PackageBilling label, for example per month, per orderTextMeta box Package Details
_laundryes_featuredPricing PackageFeatured package checkbox (saved as 1 or 0)FlagMeta box Package Details
_laundryes_roleTestimonialCustomer subtitle, for example Homeowner, Hotel ManagerTextMeta box Customer Details
_laundryes_ratingTestimonialRating from 1 to 5 (field default 5; the card clamps values to 1 to 5)NumberMeta box Customer Details
_laundryes_product_idServiceID of a WooCommerce product. When it points to a published product, the service page adds an “Order This Service Online” buttonPost IDNo screen saves it; it is set by import or custom code

Branches, slots, drivers and operations records

Meta keyContent typeLabel and meaningTypeWhere edited
_laundry_addressBranchAddress printed by [laundryes_branches]TextCustom Fields panel
_laundry_phoneBranchPhone printed by [laundryes_branches]TextCustom Fields panel
_laundry_hoursBranchOpening hours printed by [laundryes_branches]TextCustom Fields panel
_laundry_postcodesBranchZIP or postcodes served, separated by commas or spaces, used by [laundryes_postcode_checker]TextCustom Fields panel
_laundry_delivery_zonesBranchZone description printed by [laundryes_delivery_zones]TextCustom Fields panel
_laundry_delivery_feeBranchDelivery fee text printed by [laundryes_delivery_zones]TextCustom Fields panel
_laundry_capacityPickup SlotCapacity of the slot. A slot is hidden from the selector when booked reaches capacity (a capacity of 0 means no limit)NumberCustom Fields panel
_laundry_bookedPickup SlotNumber already booked. Washlora code only reads it, so update it yourselfNumberCustom Fields panel
_laundry_driver_phoneDriverPhone shown by [laundryes_driver_status]TextCustom Fields panel
_laundry_tag_codeGarment ItemTag code in the form LG- plus 32 hexadecimal characters; also the post titleTextWritten automatically at checkout
_laundry_order_idGarment ItemWooCommerce order the garment belongs toOrder IDWritten automatically at checkout
_laundry_order_item_idGarment ItemOrder line item the garment belongs toItem IDWritten automatically at checkout
_laundry_statusGarment ItemStarts as received. The tracker also understands cleaning, ready and delivered; any other value shows “In progress”KeyCustom Fields panel
_adt_enabledPopupSet to 1 to make this the active popup (the first published popup with 1 is used)FlagCustom Fields panel (the key is hidden, so add it through custom code or import)
_adt_delayPopupSeconds before the popup appearsNumberSame as above

Delivery routes use no meta key that Washlora code reads. Order-level operations keys are listed in the next table.

Requests from visitors (bookings, quotes, recurring pickups)

Meta keyContent typeMeaningWritten by
_laundryes_booking_name, _laundryes_booking_email, _laundryes_booking_phoneBookingCustomer contact details[laundryes_booking_form]
_laundryes_booking_serviceBookingID of the chosen Service post (0 if none)[laundryes_booking_form]
_laundryes_booking_pickup_date, _laundryes_booking_pickup_windowBookingPickup date and window (morning, afternoon or evening)[laundryes_booking_form]
_laundryes_booking_delivery_date, _laundryes_booking_delivery_windowBookingPreferred delivery date and window[laundryes_booking_form]
_laundryes_booking_address, _laundryes_booking_notesBookingPickup address and care notes[laundryes_booking_form]
_laundryes_booking_niche, _laundryes_booking_statusBookingNiche slug from the shortcode and the status, always new when created[laundryes_booking_form]
_laundryes_order_idBookingWooCommerce order number. A booking post titled “Order #N booking” is created for each order line that carries pickup dataCheckout of a [laundryes_booking] request
_laundryes_niche, _laundryes_pickup_date, _laundryes_pickup_time, _laundryes_delivery_date, _laundryes_delivery_time, _laundryes_address, _laundryes_phone, _laundryes_notesBooking and order line itemValues entered in the cart booking form, copied from the order line itemCheckout of a [laundryes_booking] request
_laundry_email, _laundry_volume, _laundry_notesCommercial QuoteContact email, estimated weekly volume, requirements. The company name and date are in the post title[laundryes_commercial_quote]
_laundry_email, _laundry_frequency, _laundry_address, _adt_niche_slugRecurring PickupEmail, frequency (weekly, biweekly, monthly), address, niche. Name and frequency are in the post title[laundryes_recurring_pickup]
_laundry_user_id, _laundry_statusRecurring PickupOwner user ID and status (active or paused) read by [laundryes_subscription_control]. The request form does not set the user ID, so add it yourself for a customer to see the recordCustom Fields panel
_laundry_driver_id, _laundry_route_id, _laundry_delivery_statusWooCommerce orderAssigned driver post, route post, and delivery status text (default shown: “Assigned”). The first two are written by the helper laundryes_route_assign()Custom code
_laundry_loyalty_pointsUserLoyalty points. When an order with a logged-in customer is completed, points equal to the order total rounded down are addedAutomatic

WooCommerce product fields

These fields are added to the General tab of the WooCommerce product editor.

Meta keyLabelMeaningType
_lcs_unitPrice unitPrinted after the price when the Price units option is onText area
_lcs_turnaroundTypical turnaroundShown in the tab “Service & care details” and in the comparisonText area
_lcs_includedWhat is includedSame tabText area
_lcs_preparationBefore collectionSame tabText area
_lcs_limitationsCare limitationsSame tabText area
_lcst_quote_onlyQuote-only serviceDisables direct purchase; the price shows “Priced after assessment”Checkbox (yes or no)
_lcst_quote_pageEnquiry page IDPublished page with your enquiry form; the product links to it with ?lcst_service=IDNumber
_lcst_care_guideGarment care guideOne point per line, shown in a “Before you book” panelText area
_adt_niche_slug(none)Niche the product belongs to; used to filter the shop, booking list, price calculator and related products. No screen edits it; the niche importer sets itText

Cross-sells are used as the optional add-on services: set them in Product data, Linked Products, Cross-sells.

Page meta managed by the importer, generator and native layouts

These keys control niche pages. They are set by the importers and the generator and are not meant for manual editing, except where a screen is named.

Meta keyMeaningWhere edited
_lnl_builderThe page’s editor: gutenberg, elementor, wpbakery or classic. Pages with this key receive the native layout stylesSet by import or generator
_lnl_sectionsList of section settings used by Classic Editor pages ([laundry_classic_sections])Meta box Washlora page sections (visual controls), shown only on pages whose _lnl_builder is classic
_lnl_sourceID of the niche’s home page that supplies the identity and designSet by import or generator
_lnl_homeHome layout number (1 to 3) of a home page; 0 for an inner pageSet by import or generator
_lnl_inner_typeRole of an inner page, for example shop; the shop type loads the Commerce Studio assetsSet by import
_ln_identityNiche identity (JSON)Appearance, Niche identity
_lnl_designNiche design settingsAppearance, Niche design
_adt_niche, _adt_niche_nameNiche slug and display name of a pageSet by import or generator
_laundryes_niche_menu_idMenu used by the niche header and footerSet by import or generator
_lni_source_id, _lni_fingerprintImporter bookkeeping: original post ID, and a checksum used to keep your edits on a repeat importAutomatic
_lnl_original_content, _lnl_section_count, _lnl_schema_version, _laundryes_local_batch, _laundryes_local_owner, _laundryes_generator_review, _laundryes_generated_targetGenerator bookkeeping: original content backup, section count, batch ID, owner user, review note and menu link targetAutomatic
_adt_layout_variant, _adt_header_variant, _adt_footer_variant, _adt_menu_variant, _adt_feature_rolePer-page layout variant numbers and feature role (read to add body classes, spacing values and a menu entry)Set by import
_laundryes_elementor_template_id, _laundryes_classic_template_id, _laundryes_gutenberg_template_id, _laundryes_wpbakery_template, _laundryes_niche_template, _laundryes_slider_shortcodeLinks from a niche home page to its per-editor templates and slider shortcodeSet by the template seeder

Settings and options

Niche identity (Appearance, Niche identity)

Stored as JSON in the post meta _ln_identity of the niche’s home page, not as a site option. Choose the niche at the top of the screen, then save. The theme reads the identity for the niche header, footer and colour variables.

Field labelKeyTypeUsed for
BrandbrandTextNiche header and footer name
TaglinetaglineTextSmall line under the name in the header
PhonephoneTextHeader information bar and footer contact
EmailemailTextFooter contact
HourshoursTextHeader information bar and footer hours
AreaareaTextService area line in header and footer
AboutaboutText areaFooter description
Primary colourpalette.primaryColourCSS variable --ln-primary
Dark colourpalette.darkColour--ln-primary-dark
Accent colourpalette.accentColour--ln-accent
Soft colourpalette.softColour--ln-soft
Ink colourpalette.inkColour--ln-ink

The identity record also holds values that the screen does not edit and the demo builder supplies: slug, header and footer (design numbers), cat, mark, font, services, stats, areas, cta_line and news_title. A colour field starts at #245c52 when the niche has no saved colour.

Niche design (Appearance, Niche design)

Stored in the post meta _lnl_design of the niche’s home page. It applies to all four editor versions of the niche.

Field labelKeyAllowed valuesDefault
PresentationstyleNeighbourhood, Atelier, Dispatch, Enterprise, Clinical, Hospitality, Active, Wellness, Home care, RestorationNeighbourhood
Content widthwidth1040 to 1320 px1200
Corner radiusradius0 to 48 px16
Desktop section spacingspacing64 to 120 px96

Service Settings (Settings, Washlora Service)

Option nameLabelDefaultUsed by
laundryes_service_postcodesService postcodes / ZIP codesEmpty (the checker then asks the visitor to contact the team)[laundryes_service_area_checker]. Separate codes by commas or lines
laundryes_standard_turnaroundStandard turnaround24–48 hours[laundryes_turnaround]
laundryes_express_turnaroundExpress turnaroundSame day / next day where available[laundryes_turnaround]

Washlora shopping (WooCommerce, Settings, Products, Washlora shopping)

Each option is a checkbox and is on by default.

Option nameLabelDefaultEffect
lcx_choicesService option buttonsYesVariation choices as buttons
lcx_recentRecently viewed servicesYesRecently viewed list, kept in the visitor’s browser
lcx_layoutGrid and list switchingYesGrid and list view switch
lcx_addonsRelated service add-onsYes“Useful with this service” block built from cross-sells
lcx_accountCustomer account shortcutsYesShortcut cards on the My Account dashboard
lcx_unitsPrice unitsYesPrints _lcs_unit after prices

Customizer settings (Appearance, Customize)

Stored as theme modifications.

SectionSettingLabelDefault
Washlora Headerlaundryes_topbarShow top barOn
Washlora Headerlaundryes_phonePhoneEmpty
Washlora Headerlaundryes_emailEmailEmpty
Washlora Headerlaundryes_cta_labelHeader button labelSchedule Pickup
Washlora Headerlaundryes_cta_urlHeader button URLEmpty
Washlora Colorslaundryes_primaryPrimary#0a77ff
Washlora Colorslaundryes_secondarySecondary#28c7d9
Washlora Colorslaundryes_footer_bgFooter Bg#0e1d31
Washlora Colorslaundryes_footer_text_colorFooter Text Color#c5d3e6
Washlora Footerlaundryes_copyright_textCopyright textEmpty
Washlora Footerlaundryes_addressBusiness addressEmpty
Washlora Footerlaundryes_opening_hoursOpening hoursEmpty
Washlora shoplaundryes_shop_headingShop headingEmpty
Washlora shoplaundryes_shop_introShop introductionEmpty
Washlora shoplaundryes_shop_brandBrand nameWashlora
Washlora shoplaundryes_shop_announcementHeader messageEveryday laundry. Specialist care. One place.
Washlora shoplaundryes_shop_footer_headingFooter headingA little less laundry. A little more living.
Washlora shoplaundryes_shop_footer_copyFooter descriptionThoughtful care for everyday essentials and specialist textiles. Choose a service, review the details and plan your next collection.
Washlora shoplaundryes_shop_accentShop accent#164f44

The theme also registers the menu locations primary (Primary Menu), footer (Footer Menu), commerce (Shop navigation) and commerce_footer (Shop footer navigation), and the widget areas sidebar-1 (Blog Sidebar) and footer-1 to footer-4.

Washlora Options (Redux Framework)

The screen Washlora Options needs the Redux Framework plugin. All values are saved in the single option laundryes_options. The AI Theme Assistant and Design Studio write to the same option.

SectionKeys and defaults
Generalsite_layout (wide), content_width (1280, range 960 to 1600), back_to_top (on), preloader (off)
Brandinglogo, logo_dark, favicon, logo_width (180, range 60 to 360)
Colorsprimary_color (#1d6fe8), secondary_color (#0f172a), accent_color (#f59e0b), body_bg (#ffffff), text_color (#334155)
Typographybody_font (Inter, 16px, line height 1.7), heading_font (Inter, weight 700)
Header & Menuheader_style (1, choices 1 to 12), sticky_header, mega_menu, menu_search, menu_cart (all on)
Footerfooter_style (1, choices 1 to 12), footer_widgets (4), copyright
Blogblog_layout (grid, list or masonry), blog_sidebar (right, left or none), show_author, show_share (on)
Laundryenable_booking, enable_pickup, enable_orders, enable_cart (all on), default_slider (revolution, smart, master, prime or serious)
Slidersslider_style (1 to 5), slider_autoplay (on), slider_speed (7000, range 3000 to 12000)
Socialfacebook, instagram, youtube, x_twitter, linkedin
Performance & Custom Codelazy_images, reduce_motion (on), custom_css, custom_js
In the installed code, Washlora Core turns only these keys into front-end output: primary_color, secondary_color, accent_color, body_bg, text_color, content_width and custom_css. The other keys are stored in the option, and no Washlora code reads them (the theme’s own header, footer and colours come from the Customizer and the niche identity). Check the result on your site before relying on a key.

Options without a settings screen

These options are read by Washlora code. No screen edits them; set them with custom code or WP-CLI.

Option nameMeaningDefault
laundryes_rush_percentExpress care surcharge percentage, 0 to 100. At 0 the checkbox is not shown25
laundryes_blackout_datesList of dates printed into the page footer as the JavaScript variable window.LaundryesBlackoutDatesEmpty list
laundryes_maintenance_modeWhen true, visitors who cannot manage options get a 503 maintenance pageOff
laundryes_maintenance_messageText of the maintenance pageWe are improving the site. Please check back soon.
laundryes_404_page_idPage whose content is shown on 404 errors0 (standard 404)
laundryes_optionWashlora 1.x settings kept for compatibility. Keys read: main-color, main-color-2, background-footer, color-footer, logo, PhoneNo, Email, footer_text, address, openinghoursEmpty

State options written by the importers and tools

Option nameHolds
laundryes_nichesThe installed niche records: home page ID, slug and name
lnl_home_mapPage IDs of each niche’s three home layouts in each editor
laundryes_adt_design_profilesLayout, header, footer, menu and slider numbers per niche
laundryes_inner_to_homeMap from inner pages to their niche home page
laundryes_adt_menu_map, adt_niche_menu_mapMenu ID per niche
laundryes_slider_media_map, laundryes_demo_card_media_mapAttachment IDs for niche sliders and demo cards
laundryes_active_niche, laundryes_active_builder, laundryes_adt_import_resultResult of the last one-click demo import
lni_contact_form, lni_last_resultContact Form 7 form created by the niche importer, and the summary of the last import
laundryes_builder_templates_seededTime the per-niche Elementor and Classic templates were created
laundryes_demo_finalized_atTime the demo finalizer last ran
laundryes_adt_ai_logThe last 100 questions and answers of the AI Theme Assistant, with time and user ID
laundryes_local_batch_<id>Pages and menu created by one generator run, kept so the run can be undone

Shortcodes and blocks

Shortcode'y

Attribute defaults are the values used when an attribute is left out. Shortcodes that need WooCommerce return nothing, or a short notice, when it is not active.

ShortcodeAttributes (default)Output and requirements
[laundryes_services], [laundryes_packages], [laundryes_testimonials], [laundryes_faqs]limit (6), columns (3; limited to 1 to 4)Card grid of the matching content type, ordered by menu order then date. On niche pages the services and packages are limited to the page’s niche.
[laundryes_estimator]wash_rate (2.50), shirts_rate (4.50), bedding_rate (12.00), pickup_rate (8.00)Instant estimate calculator with a Schedule Pickup link.
[laundryes_service_area_checker]NonePostcode checker using the Service Settings list.
[laundryes_turnaround]NoneStandard and express turnaround from Service Settings.
[laundryes_booking_form]niche (empty), title (Book Pickup & Delivery)Request form that saves a Booking post. Fields: name, email, phone, service, pickup date and window, delivery date and window, address, care notes. No WooCommerce needed.
[laundryes_booking], [laundryes_new_order]niche (current niche)Form that adds a chosen service, quantity, pickup and delivery date and time, address, phone and notes to the WooCommerce cart, then opens the cart. Requires WooCommerce. The pickup must be in the future and the delivery after the pickup; quantity 1 to 50.
[laundryes_cart_summary]NoneItem count, total and Open Cart button. Requires WooCommerce.
[laundryes_cart_panel]NoneWraps the WooCommerce cart. Requires WooCommerce.
[laundryes_delivery_tracker]NoneLists the logged-in customer’s last 5 orders with status; asks visitors to sign in. Requires WooCommerce.
[laundryes_order_tracker]order (0; also read from the ?order= URL value)Order status and pickup and delivery times, shown only to shop managers or the customer who owns the order.
[laundryes_driver_status]order (0)Driver name, photo, phone and delivery status of an order.
[laundryes_garment_tracker]code (empty)Status lookup by garment tag code. New random tags show the status only; older sequential tags need the order owner or a shop manager.
[laundryes_price_calculator]niche (empty)Quantity calculator from WooCommerce product prices (up to 30 niche products, otherwise 12 products).
[laundryes_branches]count (12)Branch cards with address, phone and hours.
[laundryes_delivery_zones]NoneList of branches with zones and delivery fee (up to 50).
[laundryes_postcode_checker]NonePickup availability checker built from branch postcodes.
[laundryes_slot_selector]date (accepted, not used for filtering)Drop-down of up to 50 Pickup Slots that still have capacity.
[laundryes_weight_pricing]rate (2.5), minimum (10)Weight-based price calculator in kilograms.
[laundryes_recurring_pickup]niche (current niche)Form that saves a Recurring Pickup post.
[laundryes_commercial_quote]NoneForm that saves a Commercial Quote post.
[laundryes_subscription_control]NoneLogged-in customers pause or resume their own Recurring Pickup records.
[laundryes_loyalty_dashboard]NoneLogged-in customer’s loyalty points.
[laundryes_woocommerce_store], [laundryes_commerce_store]niche (current niche, else all)Commerce Studio shop: toolbar, search and filters, results and AJAX paging. Requires WooCommerce.
[laundryes_niche_slider]niche (current niche), title, subtitle, type (the niche’s style, 1 to 5)Image slider built from the niche’s slider images.
[laundryes_forum_index], [laundryes_community_hub], [laundryes_member_panel]NoneCommunity blocks. Require bbPress (forum index), BuddyPress (community hub) and WooCommerce or Easy Digital Downloads (member panel links).
[laundryes_digital_store]number (8), columns (4)Easy Digital Downloads list. Requires Easy Digital Downloads.
[laundryes_demo_library]NoneThe demo collection showcase page, with the public generator planning demo.
[adt_niche_header], [adt_niche_footer]niche, index, name (read from the page when empty)Niche header and footer for generated pages.
[laundry_section]eyebrow, title, body, button, url, anchor (empty); image, image2 (0); layout (cards); tone (light; soft or dark); cards (list of titles and texts); function, parameters (empty)Native section from Washlora Native Layouts (WPBakery uses it). layout accepts 59 values, from hero-split and cards to the niche- layouts and function. With function a section embeds another Washlora, WooCommerce, Contact Form 7, bbPress, BuddyPress or Easy Digital Downloads shortcode.
[laundry_classic_sections]NoneOutputs the saved sections of a Classic Editor page. Keep it in the page’s main content.

Washlora 1.x aliases. For old WPBakery content, Core registers these tags when nothing else uses them: latestPost, latest_post_home_page, themepath, faqs, work_info, about_section, title, about_section_2, fact_section, testimonial, packeges_list, detail_pricing, service_section, stat_client, stat_client2 and faq_item. They accept title, subtitle, text, title1 to title3, subtitle1 to subtitle3 and text1 to text3. service_section, testimonial, packeges_list, detail_pricing and faqs map to the card shortcodes (6, 3, 3, 3 and 6 items).

Gutenberg blocks and patterns

BlockRendersAttributes
laundry/sectionA native section (Washlora Native Layouts)eyebrow, title, body, button, url, layout, tone, function, parameters, anchor, image, image2, items
laundryes/booking[laundryes_booking_form]Passes through any scalar attribute
laundryes/delivery-tracker[laundryes_delivery_tracker]Passes through any scalar attribute
laundryes/new-order[laundryes_new_order]Passes through any scalar attribute
laundryes/cart[laundryes_cart_panel]Passes through any scalar attribute
laundryes/estimator[laundryes_estimator]Passes through any scalar attribute
laundryes/niche-slider[laundryes_niche_slider]niche, type, title
laundryes/cart-summary[laundryes_cart_summary]niche, type, title

There are 8 Washlora blocks in total. The pattern category Washlora (laundryes) holds 319 patterns: 4 section patterns (laundryes/services-grid, pricing-grid, testimonials-grid, faq-grid), one home pattern per installed niche (laundryes/niche-<slug>, 105 here) and two further home layouts per niche (-home-2 and -home-3, 210 here).

Elementor widgets and WPBakery elements

BuilderCountNames
Elementor15laundry-native-section; laundryes-services, laundryes-packages, laundryes-testimonials, laundryes-faqs (Items and Columns controls); laundryes-booking, laundryes-delivery, laundryes-new-order, laundryes-cart, laundryes-estimator-widget; laundryes-adt-slider, laundryes-adt-booking, laundryes-adt-new-order, laundryes-adt-cart, laundryes-adt-tracker
WPBakery13Base tags laundry_section (category Washlora); laundryes_services, laundryes_packages, laundryes_testimonials, laundryes_faqs, laundryes_booking_form, laundryes_delivery_tracker, laundryes_new_order, laundryes_cart_panel, laundryes_estimator, laundryes_niche_slider, laundryes_booking, laundryes_cart_summary (category Washlora)

WPBakery also lists one default template per niche, named “Washlora: <niche name>”.

Admin screens and capabilities

ScreenMenu locationSlug (page=)Możliwość
Niche identityAppearancelnl-identityedit_theme_options
Niche designAppearancelnl-designedit_theme_options
Import a nicheAppearancelaundry-niche-importmanage_options (the import also needs import)
Import Washlora Demo (one-click demo)Appearancelaundryes-adt-importedit_theme_options
Demo SetupAppearancelaundryes-demo-setupmanage_options. When the niche catalogue is present it shows the Import a niche form
Washlora SetupAppearancelaundryes-setupmanage_options
Washlora ServiceSettingslaundryes-service-settingsmanage_options
Washlora AI Studio, AI Website GeneratorTop-level menu, position 57laundryes-ai-studioedit_theme_options (generation also needs edit_pages)
AI Theme AssistantWashlora AI Studiolaundryes-ai-assistantedit_theme_options
Design StudioWashlora AI Studiolaundryes-design-studioedit_theme_options
Washlora OptionsTop-level menu, position 58 (needs Redux Framework)laundryes_options_optionsmanage_options
Washlora shoppingWooCommerce, Settings, Productswc-settings&tab=products&section=laundry_experienceWooCommerce settings capability
Washlora Header, Colors, Footer and Washlora shopAppearance, CustomizeCustomizer sectionsedit_theme_options
Content type listsTop-level menus (Services, Pricing Packages, Testimonials, FAQs, Branches, Bookings, Pickup Slots, Garment Items, Delivery Routes, Drivers, Commercial Quotes, Recurring Pickups, Popups); Classic Templates under Servicesedit.php?post_type=<slug>edit_posts

The AI Studio pages are the AI Website Generator, a template-based tool (no AI service is called), the AI Theme Assistant, a rule-based helper, and the Design Studio, a form that writes colours and header and footer numbers to the laundryes_options option. The Assistant understands commands such as “set primary color to #2563eb”, “set header style 4”, “enable sticky header” and “site title to …”, and it can change the site title.

AJAX actions, form handlers and REST

Washlora registers no custom REST routes. The content types marked REST in the first table (Services, Pricing Packages, Testimonials, FAQs and Branches) appear in the standard WordPress REST API, published items only. Custom meta is not registered for REST.

Action or handlerNonceWho may call itPrzeznaczenie
lcs_public (admin-ajax.php, GET parameter mode)NonePublic (logged in and logged out)Read-only shop data. mode=catalog returns filtered shop results, mode=products returns details of up to 30 visible published products by ID, mode=cart returns the mini-cart. Other modes return an error.
laundryes_generator_demolaundryes_generator_demo (field nonce)Public (logged in and logged out)Planning preview used on the demo showcase. It returns a plan and creates nothing.
laundryes_local_planlaundryes_local_generator (field nonce)edit_theme_options and edit_pagesBuilds a website plan from a brief and stores it for 30 minutes.
laundryes_local_buildSameSame, and the plan owner onlyCreates draft pages and a menu from a stored plan. A plan can be used once.
laundryes_local_undoSameSame, and the batch owner onlyMoves the batch’s draft pages to the trash and deletes its menu; it stops if a page was published.
laundryes_adt_ai_chatlaundryes_adt_ai_nonceedit_theme_optionsAI Theme Assistant questions and commands.
laundryes_adt_design_saveSameedit_theme_optionsSaves Design Studio values to laundryes_options.
laundryes_adt_ai_generateSameedit_theme_optionsRetired. It only returns a message to use the Website Generator.
admin-post.php?action=laundryes_adt_importlaundryes_adt_importedit_theme_optionsOne-click demo import form.
Form post: booking formlaundryes_bookingPublicSaves a Booking post.
Form post: cart booking formlaundryes_adt_bookingPublicValidates and adds the service to the WooCommerce cart.
Form post: recurring pickup, commercial quotelaundry_recurring, laundry_quotePublicSaves a Recurring Pickup or Commercial Quote post.
Form post: trackerslaundryes_track, laundryes_track_garmentPublicOrder lookup (needs the billing email) and garment lookup.
Form post: subscription control, express carelaundry_sub, laundryes_rush_<product ID>Logged-in customer for the first; public for the secondPause or resume a recurring pickup you own; add the express care option to the cart.

The public forms are protected by a nonce only. The code contains no CAPTCHA, honeypot or rate limiting, so add spam protection if you publish them.

Hooks and filters for developers

These are the extension points that Washlora defines itself. Everything else is standard WordPress and WooCommerce hooks.

NameTypePlikCo robi
laundryes_commerce_assets_neededFilter (default false, post ID)laundryes-core/commerce-studio.phpReturn true to load the Commerce Studio styles and scripts on a page that does not contain a shop shortcode.
laundryes_show_page_titleFilterlaundryes/inc/template-functions.phpDecide whether the theme prints the page title.
laundryes_content_widthFilter (default 1280)laundryes/functions.phpSets the global $content_width.
laundryes_showcase_footer_renderedActionlaundryes-core/adt-showcase-footer.phpRuns after the demo showcase footer.

Helper functions you can call from a child theme or companion plugin:

FunctionPrzeznaczenie
laundryes_route_assign( $order_id, $driver_id = 0, $route_id = 0 )Stores the driver and route on a WooCommerce order.
laundryes_loyalty_points( $user_id = 0 ), laundryes_award_points( $order_id )Read a user’s points; add points for a completed order.
laundryes_identity()Identity array of the niche for the current page, or an empty array.
laundryes_core_niche_records()The installed niche records (laundryes_niches).
laundryes_lni_import( $slug, $media = true, $front = false, $only_editors = null )Imports one niche; needs manage_options and import.
lnl_clean( $attrs ), lnl_render( $attrs )Sanitise and render one native section.

Template files and page templates

Page templates

Choose them in the page editor under Template.

Template namePlik
Homehome-page.php
Aboutabout-page.php
Pricingpricing.php
Contactcontact.php
Faqsfaqs-page.php
Blogblog-page.php

Other theme files

PlikPrzeznaczenie
header.php, footer.php, sidebar.phpShell. The header and footer switch to the niche or shop shell when a niche identity or the shop context applies.
index.php, page.php, single.php, archive.php, search.php, 404.php, comments.phpStandard WordPress templates. single.php is the Blog Details template and includes share links.
single-laundry_service.phpLaundry Service detail page.
archive-laundry_service.phpTemplate for the Laundry Service archive. Note that the Services type is registered without an archive, so this file applies only if you enable has_archive in custom code.
woocommerce.phpWooCommerce wrapper; prints the Customizer shop heading and introduction.
template-parts/content.phpPost summary used by lists.
inc/commerce-shell.php, demo-nav.php, local-fonts.php, mega-menu.php, niche-identity.php, niche-menu.php, performance.php, plugin-onboarding.php, style-presets.php, template-functions.php
rtl.css, languages/laundryes.pot, assets/Right-to-left styles, translation template, and stylesheets, script and the bundled Inter font files.

The plugins add no theme template files; their output comes from shortcodes, blocks, widgets and the filter on the page content.

Scheduled events, transients, cookies and browser storage

ElementTypeDetails
Scheduled eventsWP-CronNone. Washlora schedules no cron events.
laundryes_local_plan_<id>Transient, 30 minutesA generator plan waiting to be built.
lni_import_lockOption used as a lockBlocks a second niche import while one is running; a lock older than 15 minutes is replaced.
laundryes_local_lock_<token>Option used as a lockStops a generator plan from being built twice.
Template seederAdmin requestOn an admin page load, if laundryes_niche_count is set and laundryes_builder_templates_seeded is not, the per-niche Elementor and Classic templates are created once.
Rewrite rulesPlugin activation and deactivationWashlora Core flushes them on both.
laundryes_consentCookie, 1 yearSet to essential or all when a visitor answers the privacy banner.
laundryes_popup_<popup ID>Cookie, 7 daysSet when a visitor closes the popup.
laundry-commerce-*, laundry-experience-*Browser localStorageSaved services, comparison list and recently viewed services, kept in the visitor’s browser only.

Data and privacy

What customer records contain

RecordStored inPersonal data heldWho can see it
Booking request ([laundryes_booking_form])Booking post and post metaName (also in the title), email, phone, address, care notes, service, dates and windowsUsers with access to the Bookings screen; the record has no meta box, so view it with a Custom Fields or database tool
Cart booking ([laundryes_booking])WooCommerce order line item meta, plus a Booking post titled “Order #N booking”Address, phone, notes, pickup and delivery dates and times; the customer’s name and email stay in the WooCommerce orderShop managers; the customer in their own account
Checkout fieldsWooCommerce order metaPreferred pickup date and window, care preference, care instructions (laundryes/pickup-date, laundryes/pickup-window, laundryes/care-preference, laundryes/special-instructions)Shop managers; the customer
Commercial quoteCommercial Quote post and post metaCompany name (title), email, volume, requirementsUsers with access to the Commercial Quotes screen
Recurring pickup requestRecurring Pickup post and post metaName (title), email, address, frequency, nicheUsers with access to the Recurring Pickups screen
Garment tagsGarment Item postsRandom tag code, order and item IDs, status. No name or addressAnyone who holds the tag code can see its status
Loyalty pointsUser metaA point balanceThe customer; administrators
AI Theme Assistant logOption laundryes_adt_ai_logAdministrator questions, with the user ID, last 100 entriesAdministrators