Title: Integrate Palace Properties
Author: itsisaf
Published: <strong>2025-02-08</strong>
Last modified: 2026-09-14

---

Szukaj wtyczek

![](https://ps.w.org/integrate-palace-properties/assets/banner-772x250.png?rev=3524450)

![](https://ps.w.org/integrate-palace-properties/assets/icon-256x256.png?rev=3524450)

# Integrate Palace Properties

 Autor: [itsisaf](https://profiles.wordpress.org/itsisaf/)

[Pobierz](https://downloads.wordpress.org/plugin/integrate-palace-properties.3.1.0.zip)

 * [Szczegóły](https://pl.wordpress.org/plugins/integrate-palace-properties/#description)
 * [Recenzje](https://pl.wordpress.org/plugins/integrate-palace-properties/#reviews)
 *  [Instalacja](https://pl.wordpress.org/plugins/integrate-palace-properties/#installation)
 * [Rozwój](https://pl.wordpress.org/plugins/integrate-palace-properties/#developers)

 [Wsparcie](https://wordpress.org/support/plugin/integrate-palace-properties/)

## Opis

Integrate Palace Properties connects your WordPress site to [MRI Palace](https://www.palace.co.nz/)
property management software. Your site talks to the Palace API directly using your
own Palace credentials — no third-party server sits in between — and keeps your 
listings up to date on a schedule you choose.

**This plugin requires an MRI Palace account with API access.** It sends your Palace
API username and password to `api.getpalace.com` in order to retrieve your property
records, and sends nothing at all until you have entered those credentials. No visitor
or site data is ever transmitted. See the External services section below for full
detail. MRI Software’s [terms of use](https://www.mrisoftware.com/nz/legal-notices/)
and [privacy policy](https://www.mrisoftware.com/nz/privacy-policy/) apply to that
service.

**Key Features:**

 * **Automatic Sync** — Your site polls Palace on WP-Cron with smart delta detection(
   only changed properties are updated)
 * **No Middleman** — Properties are fetched straight from the Palace API by your
   own site; nothing is routed through anyone else’s server
 * **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. On a schedule you choose, your site asks the Palace API which properties are available,
    and imports the ones that are new or changed
 3. Properties no longer offered by Palace are removed from your site automatically
 4. Properties appear as a custom post type with full filtering and beautiful templates

### External services

This plugin connects to the MRI Palace API to fetch the property listings it displays.
This is the service your property data already lives in, and the connection is made
directly from your own site.

**What the service is used for:** retrieving your property records and their images
so they can be shown on your website.

**What data is sent, and when:**

 * Your Palace API username and password are sent as an HTTP Basic authorization
   header with every request, so that Palace can identify your account. They are
   stored in your site’s database and are never transmitted anywhere else.
 * No data about your site, your visitors, or your WordPress users is ever sent.
 * Requests are made on the schedule you choose on the Configs page, when you press**
   Sync Now** or **Test Connection**, and when property images are fetched.

**Endpoints contacted** (all on `https://api.getpalace.com`):

 * `/Service.svc/RestService/v2AvailableProperties/JSON` — the list of available
   properties
 * `/Service.svc/RestService/v2AvailablePropertyImages/JSON/{code}` — images for
   one property
 * `/Service.svc/RestService/v2ViewAllDetailedTenancy/JSON` — the agency’s tenancies,
   used to tell which properties are currently let. Only each tenancy’s property
   code, start and end dates and archived flag are used. Palace’s response also 
   includes tenant names, contact details and bond information: these are received
   by your site as part of that response but are discarded immediately and never
   stored
 * `/Service.svc/RestService/v2GetCompanyDetailsByAPICredentials/JSON` — used by
   the Test Connection button

Nothing is sent until you have entered your Palace credentials; with no credentials
configured the plugin makes no external requests at all.

This service is provided by MRI Software. Terms of use: [https://www.mrisoftware.com/nz/legal-notices/](https://www.mrisoftware.com/nz/legal-notices/)—
Privacy policy: [https://www.mrisoftware.com/nz/privacy-policy/](https://www.mrisoftware.com/nz/privacy-policy/)

**Services loaded by your visitors’ browsers**

These are not contacted by your server, and receive no Palace or site data from 
the plugin. Like any embedded third-party resource, they receive the visitor’s IP
address and browser details.

 * **Google Maps** — property pages embed a map of the property’s location from `
   maps.google.com`. The property’s address or coordinates are sent in the map URL.
   Google’s [terms of service](https://policies.google.com/terms) and [privacy policy](https://policies.google.com/privacy)
   apply.
 * **Google Fonts** — if you choose a Google Font in the plugin’s Appearance or 
   template settings, it is loaded from `fonts.googleapis.com` on property pages.
   Nothing is loaded from Google Fonts unless you select one. Google’s [terms of service](https://policies.google.com/terms)
   and [privacy policy](https://policies.google.com/privacy) apply.

The single property template also contains Facebook and X (Twitter) share links.
These are ordinary links: nothing is sent to either service unless a visitor clicks
one.

No other external service is contacted.

## Zrzuty ekranu

[⌊Dashboard with sync status and property statistics⌉⌊Dashboard with sync status
and property statistics⌉[

Dashboard with sync status and property statistics

## Instalacja

 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  Configs** and enter your Palace API username
    and password.
 4. Choose how often you want the site to check Palace for changes. Hourly suits most
    sites.
 5. Click **Save Changes**. The first sync starts within a minute, and runs on your
    chosen schedule from then on.

The plugin is free and has no property limit. You need an MRI Palace account with
API access — ask Palace for your API credentials if you do not have them.

## Najczęściej zadawane pytania

### How often do properties sync?

As often as you choose on the Configs page: every 15 minutes, hourly (the default),
every 2 hours, twice daily, or daily. You can also trigger a sync immediately with
the **Sync Now** button on the Dashboard, or re-import everything with **Full Re-
import**.

Syncing runs on WP-Cron, which WordPress triggers when someone visits your site.
On a very quiet site a scheduled sync can therefore run late, and the Dashboard 
warns you if scheduled syncing appears to have stopped. If punctual syncing matters,
ask your host to run WordPress cron from a real server cron job. With WP-CLI you
can also run a complete sync in one go with `wp palace-sync run`, and check on it
with `wp palace-sync status`.

### What does my hosting need?

PHP 8.0 or later, and WordPress cron (normal on most hosts). A sync downloads your
agency’s property and tenancy lists from Palace; for a mid-size agency this needs
around 50 MB of memory on top of what WordPress itself uses, so a PHP memory limit
of at least 128 MB is recommended.

### What happens when a property is rented or withdrawn?

The plugin reads Palace’s tenancy records on every sync. As soon as a property has
a current tenancy it is taken off your website, even if Palace is still advertising
it, and appears under WP Palace Properties  Recently Rented with the date it was
rented and when the lease ends. A property whose tenant is leaving on a known date
also counts as rented until then. Rented properties stay in that list for 90 days
after the tenancy started and then move to the trash.

A property that Palace stops advertising without a tenancy (withdrawn) is moved 
to the trash after it has been missing from two syncs, to guard against a brief 
glitch in Palace’s data. Trashed properties keep their photos until WordPress empties
the trash (after 30 days by default), and if Palace advertises a property again 
it is restored rather than duplicated.

To keep a property on your site regardless, open it in the editor and enable **Lock
updates**. A locked property is neither updated nor removed by syncs. If you move
a property to the trash yourself, syncs leave it there.

### Does the plugin send my data anywhere?

Your site sends your Palace credentials to the Palace API, and nothing else, to 
anyone. No data about your site, visitors, or users is sent by the plugin. Visitors’
browsers do load Google Maps on property pages and, if you choose one, a Google 
Font. See the External services section below.

### Can I control which properties appear?

Your website shows only properties that are available to rent: advertised in Palace
and without a current tenancy. Properties that have been let are listed privately
under WP Palace Properties  Recently Rented instead. The plugin also follows the
publishing settings you make in Palace. A property whose „publish entry” setting
is off is kept on your site as a draft, out of public view, and goes live automatically
when you publish it in Palace. A property whose „publish address” setting is off
is shown without its street address: its page, map, search results and structured
data show the suburb only, and its map is centred on the suburb rather than the 
exact location.

The plugin syncs what Palace lists as available, so the place to control which properties
appear is Palace itself. On the WordPress side you can hide an individual property
from the front end, or lock it so syncs never overwrite your edits, using the options
in the property editor. Use the Display Configuration settings to choose which property
details are shown.

### 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).

## Recenzje

Wtyczka nie ma jeszcze żadnej recenzji.

## Kontrybutorzy i deweloperzy

„Integrate Palace Properties” jest oprogramowaniem open source. Poniższe osoby miały
wkład w rozwój wtyczki.

Zaangażowani

 *   [ itsisaf ](https://profiles.wordpress.org/itsisaf/)
 *   [ Safdar ](https://profiles.wordpress.org/safdar/)

[Przetłumacz wtyczkę “Integrate Palace Properties” na swój język.](https://translate.wordpress.org/projects/wp-plugins/integrate-palace-properties)

### Interesuje cię rozwój wtyczki?

[Przeglądaj kod](https://plugins.trac.wordpress.org/browser/integrate-palace-properties/),
sprawdź [repozytorium SVN](https://plugins.svn.wordpress.org/integrate-palace-properties/)
lub czytaj [dziennik rozwoju](https://plugins.trac.wordpress.org/log/integrate-palace-properties/)
przez [RSS](https://plugins.trac.wordpress.org/log/integrate-palace-properties/?limit=100&mode=stop_on_copy&format=rss).

## Rejestr zmian

#### 3.1.0

 * **Rented properties are recognised from Palace’s tenancy records.** Palace can
   keep advertising a property after it is let, so the website now shows only properties
   that are advertised and have no current tenancy. A property whose tenant is leaving
   on a known date also counts as rented until then.
 * New **Recently Rented** list (WP Palace Properties  Recently Rented) showing 
   each rented property with the date it was rented and the lease end date, newest
   first. Rented properties are kept out of public view, and move to the trash 90
   days after the tenancy started.
 * A property that Palace stops advertising because it has been let is now kept 
   as rented instead of being removed
 * A new Rental column on the property list
 * If Palace’s tenancy data cannot be read, the sync is skipped rather than risk
   publishing let properties as available
 * After updating, every property is re-checked once in the background; photos already
   on the site are kept

#### 3.0.0

 * **Properties are now fetched directly from the Palace API by your own site.**
   The external relay service that previously polled Palace and pushed properties
   to your site over a webhook has been removed entirely.
 * No subscription key and no account with a third-party service is needed any more,
   and there is no longer a property limit — the plugin is fully free
 * New **Sync Frequency** setting: every 15 minutes, hourly, every 2 hours, twice
   daily or daily
 * Imports and removals run in time-limited slices across cron ticks, so a large
   library imports in a few ticks rather than one batch per visit, without long-
   running requests
 * **Full Re-import** button to refresh every property from Palace regardless of
   what has already been synced
 * WP-CLI commands: `wp palace-sync run [--force]` completes a whole sync in one
   process, `wp palace-sync status` reports the last result and when the next check
   is due
 * The Dashboard warns when scheduled syncing appears to have stopped (for example`
   DISABLE_WP_CRON` without a server cron job), and when a sync started but never
   finished, which usually means the host stopped the request
 * Syncs take a lock, so two overlapping cron requests can never import, or confirm
   a removal, at the same time
 * Locked properties are no longer removed when Palace stops listing them, and a
   property you trash yourself stays in the trash
 * A property whose import is interrupted part-way is retried on the next sync, 
   rather than being treated as up to date
 * Properties that fail to save are reported on the Dashboard with the reason, and
   retried automatically
 * Gallery sync: a Palace error response can no longer wipe a property’s existing
   photos, large photos are no longer re-downloaded on every sync, and memory use
   for big galleries is much lower
 * Fixed a fatal error in uninstall.php on PHP 8 that stopped settings and scheduled
   events being cleaned up, and uninstalling with data removal now also deletes 
   properties in the trash and their images
 * Google Fonts chosen in the Customizer now load through the standard WordPress
   stylesheet queue
 * A property that Palace re-lists after it was removed is now restored and published,
   even when nothing about it changed while it was off the market (previously it
   could come back as a hidden draft)
 * Property pages on block themes (such as Twenty Twenty-Five) now use the theme’s
   real header and footer, with proper header and footer landmarks, instead of WordPress’s
   bare fallback header
 * Schema.org structured data is now printed once per property page instead of twice,
   and the `ipp_property_schema` filter applies to all of it
 * Two safety guards against a bad response from Palace emptying your site: a property
   must be missing from two consecutive syncs before it is removed, and a sync that
   would remove an implausible share of your library is held back and reported instead
 * Removed properties are moved to the trash and keep their images, so a listing
   removed in error can be restored intact. Images are only deleted when the property
   is deleted permanently
 * A property that is re-listed by Palace after being removed now reuses its original
   entry instead of creating a duplicate
 * The Dashboard and Configs pages now report real sync results — when the last 
   run happened, how many properties were updated and removed, when the next check
   is due, and the reason for any failure
 * Scheduled events are now cleared properly when the plugin is deactivated
 * Your Palace password is no longer rendered back into the settings page; leave
   the field blank to keep the saved one
 * macOS `.DS_Store` files are no longer included in the plugin package
 * **Follows Palace’s publishing settings.** A listing Palace marks as not to be
   published online is kept as a draft, out of public view, and published automatically
   once the agency publishes it in Palace. A listing whose address Palace marks 
   as not to be published no longer shows its street address, unit or exact location
   anywhere: pages, maps (centred on the suburb instead), search, the REST API and
   structured data. Previous versions published both regardless.
 * The REST API’s single-property and gallery endpoints, and the `[palace_property]`,`[
   palace_property_field]` and `[palace_agent]` shortcodes, no longer serve an unpublished
   listing to visitors who ask for it by ID
 * Pets and smoking policies now show Palace’s own wording, such as „By consent”,
   instead of treating anything other than „Yes” as not allowed. Several templates
   also showed „1” instead of „Yes”; that is fixed.
 * After updating, every property is re-imported once in the background so the settings
   above apply to existing listings. Photos already on the site are kept, not downloaded
   again.
 * Image downloads after a large import no longer risk being cut off by the host:
   once a cron request has been busy for a while, remaining image jobs wait for 
   the next run instead of being lost
 * Removed the „Property Statuses to Sync” and „Include Archived Properties” settings.
   They were never connected to anything — the plugin syncs what the Palace available-
   properties feed contains — so they promised control they did not provide. To 
   filter what is imported, use the `ipp_sync_fetched_properties` filter documented
   in DEVELOPERS.md.
 * Fixed the Dashboard’s „Visible on Frontend” figure, which assumed a status filter
   that was never applied
 * **Security:** hardened the Schema.org JSON-LD output. A property whose name or
   address contained the text `</script>` could previously break out of the structured-
   data block, which made the Palace feed a potential source of injected markup
 * **Security:** front-end search and filter parameters are now unslashed as well
   as sanitized
 * **Security:** the inbound webhook endpoint has been removed. It was authenticated
   with a shared secret issued by the relay service, so with that service gone the
   endpoint could no longer verify anything. Nothing pushes to your site any more—
   your site does the asking.

**Upgrading:** enter your Palace API username and password on the Configs page if
they are not already saved, then press Save Changes. Your existing properties, images
and settings are preserved.

#### 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

## Meta

 *  Wersja **3.1.0**
 *  Ostatnia aktualizacja **4 tygodnie temu**
 *  Włączone instalacje **Mniej niż 10**
 *  Wersja WordPressa ** 5.8 lub nowszej **
 *  Testowano do **7.1.3**
 *  Wersja PHP ** 8.0 lub nowszej **
 *  Język
 * [English (US)](https://wordpress.org/plugins/integrate-palace-properties/)
 * Tagi
 * [property](https://pl.wordpress.org/plugins/tags/property/)[real-estate](https://pl.wordpress.org/plugins/tags/real-estate/)
   [Rental](https://pl.wordpress.org/plugins/tags/rental/)
 *  [Widok zaawansowany](https://pl.wordpress.org/plugins/integrate-palace-properties/advanced/)

## Oceny

Nie przesłano jeszcze żadnych recenzji.

[Twoja opinia](https://wordpress.org/support/plugin/integrate-palace-properties/reviews/#new-post)

[Zobacz wszystkierecenzje.](https://wordpress.org/support/plugin/integrate-palace-properties/reviews/)

## Zaangażowani

 *   [ itsisaf ](https://profiles.wordpress.org/itsisaf/)
 *   [ Safdar ](https://profiles.wordpress.org/safdar/)

## Wsparcie

Masz coś do dodania? Potrzebujesz pomocy?

 [Zobacz forum wsparcia](https://wordpress.org/support/plugin/integrate-palace-properties/)