Rental Listings (External Booking Redirect) - Full Edition v2.1
Property listings with Uplisting integration, filters, map, and external booking links. Auto-syncs every 3 hours and supports live availability + total price updates with cleaning fees.
Install
No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:
wp plugin install https://github.com/manudrago/uplisting/archive/refs/heads/main.zipRental Listings (External Booking Redirect)
WordPress plugin that mirrors Uplisting properties into a
rental_property custom post type and links each listing out to its Uplisting direct-booking
page. Provides filtering, a map, live availability and total-price lookups including cleaning fees.
- Version: 2.1
- Author: IdeAgency.co.uk
- License: GPLv2 or later
- API:
https://connect.uplisting.io/(HTTP Basic, one or more account keys)
Layout
| Path | What it does |
|---|---|
rental-listings-redirect.php |
Main plugin — CPT, meta boxes, settings screen, shortcodes, AJAX filter, REST availability endpoint, cron and the throttled sync driver (rl_sync_tick) |
includes/class-uplisting-client.php |
Uplisting REST client — properties, availability, calendar; merges results across multiple account keys |
includes/class-uplisting-sync.php |
Import — maps Uplisting properties onto posts, downloads images, caches calendars, derives "from" prices |
rental-listings-template.php |
Archive/listing grid template |
single-rental-template.php |
Single property template |
rental-frontend.js / rental-admin.js / rental-style.css |
Front-end filtering and map, admin screen, styles |
Install
Copy the repository contents into wp-content/plugins/rental-listings-redirect/ and activate, or
upload a zip of the repository through Plugins → Add New → Upload Plugin.
Then set the Uplisting API keys under the plugin's settings screen (one key per line — each key is
one Uplisting account). Keys are stored in the uplisting_api_keys option; none are committed here.
Sync
Cron runs every 3 hours. The sync is cursor-based and processes a couple of properties per tick to stay inside Uplisting's rate limits (5/sec, 100/min), so a full pass over a large account takes several ticks.
Manual controls, administrators only:
/wp-admin/?rl_sync_run=1&dry=1 report only, changes nothing
/wp-admin/?rl_sync_run=1&reset=1 restart the cursor and run
/wp-admin/?rl_cron_status=1 is cron scheduled, is sync paused
Note that rl_sync_paused defaults to 1 — the sync does nothing until it is switched on.