=== Integrate Palace Properties === Contributors: safdar Tags: palace, property, real-estate, mri-palace, rental Requires at least: 5.8 Tested up to: 6.9 Requires PHP: 8.0 Stable tag: 2.1.6 License: GPLv2 or later License URI: https://www.gnu.org/licenses/gpl-2.0.html Synchronize property listings from MRI Palace to your WordPress website with beautiful templates, AJAX filtering, and full property management. == Description == Integrate Palace Properties connects your WordPress site to [MRI Palace](https://www.palace.co.nz/) property management software. Properties are automatically synced via a secure cloud-hosted backend, keeping your listings always up to date. **Key Features:** * **Automatic Sync** — Properties sync hourly with smart delta detection (only changed properties are updated) * **6 Beautiful Templates** — Palace Property (default), Classic, Modern, Minimal, Grid Gallery, and Developer * **AJAX Filtering** — Real-time search, filter by price/bedrooms/bathrooms/region/type/status, sortable * **Full Property Data** — All Palace API fields: address, rent, features, agent info, custom fields, and more * **Taxonomy Support** — Property Type, Status, Region, and Management Type taxonomies * **Display Configuration** — Control exactly which property details appear on your website * **Theme Override** — Templates can be overridden in your theme's `palace-properties/` directory * **Schema.org** — Structured data (RealEstateListing) for better SEO * **Gallery with Lightbox** — Automatic image sync from Palace with keyboard/touch lightbox * **Responsive** — Fully responsive at all breakpoints * **Accessible** — Proper ARIA labels, keyboard navigation, screen reader support **How It Works:** 1. Configure your Palace API credentials in the plugin settings 2. The cloud backend fetches properties from Palace API and sends them to your site via webhook 3. Properties appear as a custom post type with full filtering and beautiful templates == Installation == 1. Upload the plugin files to `/wp-content/plugins/integrate-palace-properties/` or install through the WordPress dashboard. 2. Activate the plugin through the 'Plugins' screen in WordPress. 3. Navigate to **WP Palace Properties → Settings** and enter your Palace API credentials. 4. Enter your subscription key (or leave blank for a free plan with 10 properties). 5. Click **Save Changes**. Properties will begin syncing automatically. == Frequently Asked Questions == = How often do properties sync? = Properties sync hourly. You can also trigger a manual sync from the Dashboard page. = Can I control which properties appear? = Yes. Use the Display Configuration settings to choose which statuses (Active/Inactive) to sync, and which property details to show on the frontend. = Can I customize the templates? = Yes. Create a `palace-properties/` directory in your theme and add `single.php` or `archive.php` to override the plugin templates. The Developer template is specifically designed for full CSS customization. = Does it work with block themes? = Yes. The plugin works with both classic and block themes (like Twenty Twenty-Five). == Screenshots == 1. Dashboard with sync status and property statistics 2. Property archive page with search filters 3. Single property page with gallery and details 4. Template selector with 6 options 5. Display configuration settings == Changelog == = 2.1.6 = * Refreshed plugin icon and banner artwork on the WordPress.org listing = 2.1.5 = * Site Domain Status indicator on the configs page — shows whether the API is delivering webhooks to the current site host or a stale one (typical after staging-to-prod migration) * "Re-sync this site with API" button when a domain mismatch is detected * Settings save now always re-pushes registration to the API, even when no field values changed * Self-heals the webhook HMAC secret on save so signature verification stops short-circuiting to "Open" auth * Self-heals the unique blog ID if it was accidentally deleted from the options table * Trimmed informational logs to critical-only = 2.1.4 = * Surface API error messages in dashboard status (e.g. mismatched Palace account, site limit reached) instead of generic "Invalid Subscription Key" = 2.1.3 = * Fixed: pre-2.1.1 sites now auto re-register their webhook URL on first load after upgrade, no manual settings save required = 2.1.2 = * Fixed webhook URL not updating after staging to production migration — plugin now auto-detects site URL changes and re-registers the webhook endpoint with the API * Safe for multi-site subscription keys — no false re-registrations on shared keys = 2.1.0 = * Gallery sync progress tracking — see which properties are syncing, queued, or failed * Resync Galleries button — force re-download all property images * Process Now button — manually trigger gallery syncs without waiting for WP-Cron * API rate limiting — throttled image downloads to prevent Palace API timeouts * Fixed critical bug: gallery retry hook name mismatch causing syncs to silently fail * Fixed gallery image deletion bug where orphan cleanup removed valid images * Fixed featured_image() helper returning wrong format for templates * Fixed wp-color-picker dependency error on WordPress 6.9+ * Improved error visibility — failed syncs show actual error messages in dashboard * Removed unauthenticated AJAX endpoints for better security * Cleaned up zombie cron events from deleted properties * Proper uninstall cleanup for all sync metadata and transients * Dashboard performance improvements — removed heavy cron cleanup from page load = 2.0.0 = * Complete rewrite with 6 template system * AJAX filtering, sorting, and search * Delta sync — only changed properties are updated * Full Palace API v2 detailed endpoint support * Custom taxonomies (Type, Status, Region, Management) * Display configuration — control what shows on frontend * Property Helper class for centralized data access * Schema.org structured data * Vanilla JS lightbox gallery (no Swiper dependency) * HMAC webhook authentication * Idempotent sync with change code tracking * Admin dashboard with sync status and stats * WP plugin repo compliance = 1.0.0 = * Initial release == Upgrade Notice == = 2.1.0 = Gallery sync reliability improvements, progress tracking dashboard, and critical bug fixes. Recommended update for all users. = 2.0.0 = Major upgrade with new templates, AJAX filtering, delta sync, and full Palace API support. All existing data is preserved with backward-compatible meta keys.