How it works
WordPress serves full page loads (not a single-page app), so each page load connects to the room matching that URL. A visitor on /about is in the "about" room. A visitor on /shop/blue-widget is in that product's room.
The script loads asynchronously and doesn't block your page render. Three.js only loads when a visitor opens the widget, so your PageSpeed score stays the same.
Installation
Three ways to add floors.js to WordPress. Pick whichever fits your workflow.
1 Theme footer (recommended)
Go to Appearance → Theme Editor → footer.php. Add the script tag right before the closing </body> tag.
2 functions.php
If you prefer keeping your theme files clean, add this to your theme's functions.php or a custom plugin. This uses WordPress's wp_footer hook to inject the script on every page.
3 Plugin: Insert Headers and Footers
If you don't want to touch theme files at all, use a plugin like WPCode (formerly Insert Headers and Footers) or Header Footer Code Manager.
- Install and activate the plugin
- Go to the plugin's settings and find the Footer section
- Paste the script tag below and save
Works with any theme
floors.js renders as a fixed-position overlay in the bottom-right corner of the viewport. It doesn't inject anything into your page layout, doesn't modify your DOM structure, and doesn't interfere with your CSS.
Tested and compatible with all popular WordPress themes and page builders:
WooCommerce bonus
On WooCommerce stores, visitors browsing product pages appear in those product rooms. You can see who's looking at your products right now and start a conversation to help them buy.
- See shoppers on product pages — know which products are getting attention in real-time
- Answer questions before they leave — "Does this come in blue?" gets answered instantly
- Build social proof — visitors see other people shopping, which increases trust and conversions
- Cart and checkout rooms — see when someone is about to check out and nudge them if they stall
Frequently asked questions
functions.php, or via a simple header/footer plugin. There is no dedicated WordPress plugin to install.data-key for each site in the network if you want separate rooms, or use the same key to share a single building across all subsites.footer.php or functions.php. This way it persists across parent theme updates.
floors