Skip to content

Settings

On this page

Settings reference

All settings live under Esti To WordPress → Settings, split across four tabs. Each tab saves on its own — pressing
Save Changes** on one tab never touches the fields of the others.

Everything except the license is stored in a single WordPress option, osfec_settings; the license lives in its own
osfec_license_* options.


#General

#Company identifier

Your account identifier in Esti CRM. Without it and the token, no synchronization can run.

#API token

The API token issued by Esti CRM. It is stored in the database and sent with every request to Esti; it is never shown on
the front end.

#Archive slug

The path the offers are published under. Default: offers.

Archive slug: offers   →  /offers/  and  /offers/apartment-warsaw-123/
Archive slug: oferty   →  /oferty/  and  /oferty/apartment-warsaw-123/

Saving a new slug rebuilds the permalinks by itself. Every existing offer URL changes, so links you have shared and
pages already indexed by Google will 404. Pick the slug before launch and leave it alone afterwards.

#Offers per page

How many offers one page of the archive shows before pagination kicks in. Default: 12. It is also the default limit
for the [osfec_offers] shortcode and the Offers block when they carry no limit of their own.


#Import filter

This tab decides which offers are imported at all. Everything that does not pass is skipped and never becomes a
post.

Two conditions are always enforced and are not configurable: the offer must be active in Esti CRM, and its owner
must have cleared it for online export.

An empty field means “no restriction on this criterion”. All filled criteria must match at the same time.

#Offer types

A checkbox list of the types found in your catalogue (Apartment, House, Plot, …). Check none to import every type.

The list is built from offers that are already imported, so it is empty before the first synchronization. Run a full
import once, then come back and narrow it down.

#Offer subtypes

Esti has no separate subtype field: the variant sits in brackets inside the type name, so Działka (Rolna) yields the
subtype Rolna. This box lists those variants.

Two things worth knowing:

  • Like the type list, it fills up after the first synchronization.
  • Once you check any subtype, offers without a bracketed variant no longer match, so they stop being imported.

#Cities

A comma separated list, for example:

Białystok, Supraśl, Choroszcz

Matched against the city name in Esti, ignoring letter case but otherwise exactly — Bialystok without the diacritic
will not match Białystok. Leave empty for all cities.

#Transaction

Import only sale, rent, purchase or lease offers. Leave on the “all” option for no restriction.

#Minimum price / Maximum price

The price range, in the offer’s own currency as Esti sends it. Offers outside the range are skipped.

Note that an offer whose price is hidden in Esti still carries a price in the payload, and this filter is applied to
that value even though the site later shows “Price on request”.

#What happens when you tighten the filter

Offers that no longer pass simply stop arriving from the import. On the next successful run they are treated as offers
Esti no longer publishes and their posts are permanently deleted. Loosening the filter again re-imports them, with
new post IDs and, for offers whose title changed, possibly new URLs.


#Archive filters

Controls which fields the visitor-facing filter bar shows on the offer archive — and on any
[osfec_offers filters="yes"] shortcode or block.

Checkbox Field the visitor gets URL parameter
Property type Dropdown of the imported types type
Transaction Sale / Rent transaction
Location Dropdown of the imported cities city
Price From / To pair price_min, price_max
Area From / To pair area_min, area_max
Rooms Number field rooms

Unchecking every box hides the filter bar completely.

Hiding a field only hides the control. The parameter still works if it appears in the URL, which is what makes
hand-built links like /offers/?city=bialystok keep working on a site whose filter bar shows nothing but price.

Sorting is not part of this setting: the archive always offers its Sort by dropdown.


#License

Synchronization only runs while a license key is active. Everything else keeps working without one: offers already
imported stay published, the archive, the filters, the shortcode and the block are untouched. Only the import stops.

#Activating a key

Paste the key issued in your account dashboard into License key and press Activate. The key is verified against
the license server, which answers with the license status, the date it is paid up to and the plugin version it covers.
The verdict is stored locally and re-checked once a day.

#What the tab shows

  • StatusActive or Not active
  • Key — the stored key with its middle masked out
  • Valid until — the date the subscription is paid to, marked expired once it passes
  • Covered version — the newest plugin version the license covers, next to the version installed

Remove key deletes the key from this site and stops the synchronization. It does not consume or release anything on
the license server, so the same key can be activated again.

#Expiry

An expired subscription does not switch the plugin off. The version the license covered keeps synchronizing, and the
admin says so; running a newer version than the covered one is what stops the import until the license is renewed.
See Updates.

A license server that cannot be reached — a timeout, DNS trouble, an outage — never changes the stored status. Only an
answer from the server does, so a network problem cannot lock a paying site out of its own catalogue.

#Updates

The plugin is not distributed through wordpress.org, so it reports its own updates. A newer release shows up on
Plugins and under Dashboard → Updates like any other plugin update, with the usual Update now** button — there
is nothing extra to click on the License tab.

Updating is never blocked: the newest release always installs, with or without a license. What the license decides is
whether that version then runs. Install a release your expired license does not cover and the plugin keeps its
offers, its archive and its templates, but stops synchronizing and says which version your license covers — renewing
turns it back on, without reinstalling anything.


#The synchronization panel

Below the tabs, on every tab except License, the settings screen shows:

  • Status — whether a synchronization is running right now, plus a link to the log
  • Last run — when the last run finished
  • Value dictionary — how many entries were cached from Esti; attributes such as heating or fencing stay hidden until
    the dictionary can name them
  • Next scheduled run
  • Sync now — starts a run immediately

A red notice appears here when the last run failed, together with a reminder that existing offers were left untouched.

Without an active license the Sync now button is disabled and the scheduled runs return without fetching anything.