Uraio Connect
WordPress plugin for Uraio Business OS: embed live menu, products, opening-hours, reviews, booking and contact widgets via shortcodes.
Install
This is the repository archive. It installs, but the folder name will carry the branch suffix and updates will not flow.
Install straight from GitHub with WP-CLI:
wp plugin install https://github.com/aysami/uraio-connect-wordpress/archive/refs/heads/main.zipUraio Connect — WordPress plugin
Embed live Uraio Business OS widgets on any WordPress site. Every booking request and contact-form message lands directly in the business inbox on Uraio — no mail relays, no duplication.
Features
- Seven widgets: menu, products, opening hours, contact form, booking form, approved reviews, WhatsApp button.
- Responsive, lazy-loaded iframes served by Uraio, so the content is always current.
- Shortcodes plus a generic
[uraio_connect widget="…"]shortcode. - Settings screen with token validation and a one-click Check connection test.
- Setup notice and a Settings link on the Plugins screen.
- Clean uninstall: deleting the plugin removes its saved options.
- No build step, no external JavaScript on the WordPress front end.
Requirements
- WordPress 5.8+
- PHP 7.4+
- An active Uraio Business OS account with the Connect feature
Install
- Download
uraio-connect.zipfrom the latest release (or build it with./build.sh). - In WordPress: Plugins → Add New → Upload Plugin, choose the zip, then Install Now → Activate.
- Go to Settings → Uraio Connect.
- Paste your embed token from Uraio Business OS → Website → Connect.
- Save and click Check connection.
Shortcodes
| Shortcode | Widget |
|---|---|
[uraio_menu] |
Menu / item list |
[uraio_products] |
Product grid |
[uraio_hours] |
Opening hours + address |
[uraio_contact] |
Contact form |
[uraio_booking] |
Booking request form |
[uraio_reviews] |
Approved reviews |
[uraio_whatsapp] |
WhatsApp button |
[uraio_connect widget="menu"] |
Any widget by key |
Every shortcode accepts:
height— pixels, clamped to 120–1200 (e.g.height="480")class— extra CSS classestitle— accessible iframe title
Example:
[uraio_menu height="480" class="homepage-menu" title="Today's menu"]
Plain PHP / HTML (non-WordPress)
Paste the iframe snippet from Uraio Business OS → Website → Connect, or use the loader:
<div class="uraio-widget" data-widget="menu" data-token="YOUR_TOKEN"></div>
<script src="https://create.uraio.com/connect/embed.js" defer></script>
Development
The plugin has no Composer or npm dependencies.
# Lint
php -l uraio-connect.php
find includes -name '*.php' -exec php -l {} \;
# Run the WordPress-stub test suite
php tests/test-plugin.php
# Build connect/downloads/uraio-connect.zip in the Uraio app repo
./build.sh
The test suite stubs the small set of WordPress functions the plugin uses, then checks the widget registry, iframe rendering, height clamping, shortcode registration, token/URL sanitisation and the uninstall option names.
Project layout
uraio-connect.php Plugin header, constants, bootstrap
includes/helpers.php Widget registry, settings access, iframe rendering
includes/shortcodes.php Shortcode registration
includes/settings.php Settings screen, sanitisation, connection check
includes/admin.php Admin notice and plugin row links
uninstall.php Removes options/transients on delete
tests/test-plugin.php Standalone test harness
build.sh Builds the installable zip
languages/ Translation template
License
GPL-2.0-or-later. See LICENSE.