Haldane
Guide chapters

FAQ and troubleshooting

Start with the matching symptom below. Test changes in a private browser window so saved sessions and caches do not hide the result.

On this page

WordPress says the stylesheet is missing

Unzip the main product download on your computer. Upload the installable haldane.zip inside it through Appearance → Themes → Add New Theme → Upload Theme. The main download is not itself a WordPress theme.

Confirm Haldane Toolkit is active and the room is published. Open Settings → Permalinks and select Save Changes once, then clear caches. If URLs still fail, ask your host to check WordPress rewrite support.

The imported Rooms page uses /rooms/; room details use /rooms/room-name/. Check for a conflicting page or changed slug before altering the template. A room category archive normally uses /room-category/category-name/.

The Book button is blank or does nothing without the plugin

The theme's core Book buttons remain visible, but a #book link opens a dialog only when Haldane Toolkit is active. Either activate it or edit the button URL to your booking or availability page. Check the header, footer and mobile booking bar.

If a toolkit Book button block disappears or becomes unavailable after deactivation, reactivate the toolkit or replace it with a core Button block and a direct booking URL. Also check that the browser allows JavaScript and that an optimisation plugin is not delaying the booking script.

The booking engine ignores dates or shows the wrong property

Copy only the public property code or configuration ID from your provider's booking link. Confirm the engine preset and region. For Cloudbeds, check whether its page expects dates after #. For a custom link, compare parameter names and tokens with your provider's instructions. Test dates and guest counts after saving.

A missing or invalid link can lead to the enquiry fallback. For MotoPress, assign and publish its Search Results page. A room URL override can bypass the shared dialog, so check the room details too.

Enquiry mail does not arrive

Check Haldane → Enquiries → Recipient email and the destination's spam folder. Set up an SMTP or mail delivery plugin and send its test message. A successful form response means WordPress accepted the mail request, not that the message reached the inbox.

Ask your mail provider to check delivery logs and sender-domain authentication. The toolkit sets the visitor's email as Reply-To. Configure an authorised sender in your mail plugin.

The form asks me to reopen it or says it has expired

Clear page caches and exclude /wp-json/haldane/v1/enquiry-token and /wp-json/haldane/v1/enquiry from host, plugin and proxy caching. The form needs a fresh nonce and signed timestamp. Allow these REST requests through any security rules.

Wait at least three seconds before submitting. If you have already tried five times, wait an hour or contact the hotel directly. Test from a private window after fixing cache rules.

A calendar price or closed date seems wrong

Check the site's timezone, the Booking currency and the saved Prices rows. Later seasons override earlier rows on overlapping dates. Minimum nights follow the arrival night. Closed dates are nights, so checking out on a closed date is allowed.

Fresh calendar responses can be cached for 15 minutes. Clear the calendar endpoint cache as well as the page cache. Room from-prices, calendar seasons and external engine rates are independent values.

The map is missing or does not load

Set both latitude and longitude in Hotel details. The address alone does not set coordinates. On the public page, the map loads only after selecting Load map. Check the coordinate signs if the marker appears in the wrong place. If the iframe is blocked, check the browser and your site's content-security policy.

My page title appears twice, or my journal page ignores its blocks

Use the Full page pattern template for starter pages that contain their own opening heading. Use Landing page for either Home pattern. The normal Pages template adds its own title.

WordPress renders the posts index on the page assigned as Posts page in Settings → Reading. Edit the Blog Home template to change that layout rather than adding blocks to the Journal page body.

A file change does not appear

Clear caches and confirm you edited the active child theme. Saved Site Editor templates, parts and styles take precedence over theme files. Export or copy them before clearing a customisation. Editing a pattern file does not update independent copies already inserted into pages.

Which image sizes should I use?

Bundled placeholder dimensions and useful starting sizes
UseDimensionsExamples
Wide hero2400 × 1500 pixelshero-coast, hero-hills, hero-pool.
Room, landscape and journal images1600 × 1200 pixelsroom-garden, dining-terrace, spa-room, pool, beach, experience-hike, journal-1.
Illustrated map1600 × 1000 pixelsmap.
Portrait details1200 × 1500 pixelsdetail-bath, detail-terrace, dining-table, spa-stones.

Use these as starting dimensions for replacement photography. Crop with the subject safely inside the frame, compress images before uploading and add descriptive alternative text where it helps. WordPress creates smaller responsive sizes. Check the Cover block's focal point when a face or building is cropped on mobile.

The logo setting allows different proportions; the theme's starting guidance is 240 × 80 pixels. Use a clear, compact logo and check it at the actual displayed size.

What happens when I deactivate or uninstall the toolkit?

Deactivation keeps settings and room data. Features return when you reactivate it. Uninstall keeps settings unless you enabled Haldane → Advanced → Remove all plugin settings on uninstall. That option removes toolkit options and temporary rate-limit data; room posts, metadata, categories and media remain for migration.

What should I include in a support request?

Include the WordPress, PHP, Haldane and toolkit versions, the affected page URL, what you expected, what happened and the steps to repeat it. Mention relevant booking, mail and cache plugins. Share screenshots with personal guest information removed. Do not send booking passwords, API keys or mailbox credentials.