WP Real Estate Kit

WordPress Real Estate Directory Kit

Minimal Requirements:

Quick installation with wordpress already installed:

VIdeo Instructions: https://www.youtube.com/watch?v=ILVXyiIt1PI

Clean Installation with NexProperty theme + all plugins:

1. You should have WordPress >5.2 installed ( https://wordpress.org/ ), best if you have clean installation.

2. Upload nexproperty_theme.zip in Dashboard->Appearance->Add New->Upload Theme->Select Theme and Activate or if you can't because of some filesize limitation then via cpanel file manager to folder "wp-content/themes" and extract directly on server or just extract in localhost server


If you uploaded/extract files manually then Open your Wordpress Administration, click on Appearance and Activate nexproperty theme if you still didn't

4. After theme is activated, will suggest to Install Required Plugins on top, Installall of them by clicking on Install Required Plugins, Select All, Bulk Action Install and Apply

If some of plugins not installed because of slow internet speed or similar, please retry untill all of them are installed

5. Activate this same plugins on top, activate all of them by clicking on Begin activating plugins, Select All, Bulk Action Activate and Apply

6. Import Demo Data

Great, you completed your installation, read forward for more details, check videos or on trouble contact with support team via email.

Clean Installation with Pro plugins but without NexProperty theme, so when you using some third parity theme (SKIP if you completed above!)

1. You should have WordPress >5.2 installed ( https://wordpress.org/ ), best if you have clean installation.

2. All plugins are located inside plugins folder, install them one by one or extract them into your plugins folder inside wordpress installation wp-content/plugins

3. Activate all plugins/addons

4. Install and activate recommended plugins

5. Import demo data for Directory

6. Import Demo Data for Membership addon

Great, you completed your installation, read forward for more details, check videos or on trouble contact with support team via email.

Our demo data importer or you can build this specific pages which are used to show some specific data, like data for listing preview. For start will be much easier if you use demo data importer, and then try to replicate/customize it.

This way system know which page need to open to show listing preview page data, results, agent page or similar...

Main directory pages like results and listing preview page are defiend in Dashboard->Directory Kit->Settings

Membership pages are defined in Dashboard->Users->WDK Membership->Settings


Some Categories cooming with demo data importer or you can build it also manually.

Categories can be structured in trees, that means some categories can have sub categories and also sub-sub categories

Subcategories, also can be added by clicking on "Add Category" Button, just then you need to select parent category here:


On listing submission you can select related

You can add new category and define basic info needed, hints and descriptions provided on form

If you want to define sub-category then you need to define parent category related to this sub-category actually child-category in such meaning

Some Locations cooming with demo data importer or you can build it also manually.

In general everything is similar like categories

Usualy first fields are generated by demo data importer:

This fields and section can be restructured, replaced/moved with drag & drop, resized etc.

Like this client need to populate this fields on listings submission, you can notice that fields are positioned same and sized same (columns num):

Then for example when you building layot for listing preview page in elementor, bulding search form or result card you need to position this fields on layout design visually

Video examples:


On left side you can see similar structure as on fields, this fields you just move to right side to wanted position on result card

Example mapping with standard result card layout design


There are some options like css class, usable for custom stylings and columns for width, 2 for example mean to take 2 columns from standard total 12 columns in grid responsive design.

Results element support custom results order, you can configure this way:

Results element support custom queries for any field, example for disable featured results, you can configure this way:



On left side you can see similar structure as on fields, this fields you just move to right side to wanted position on search form

THere are some custom predefined fields, used for some special purpose or for standard fields, not custom fields

for example element "more" is like pagebreak and after this element all will be visible when user click on more, on search form:

There are some options like css class, usable for custom stylings and columns for width, 2 for example mean to take 2 columns from standard total 12 columns in grid responsive design.

On NUMERIC and DROPDOWN/INPUTBOX fields you will found also option Min/Max, this is used when you want search from or to entered value in search form.

if you searching by number, like number of rooms, always use NUMERIC field, and if you eventually need DROPDOWN then enter values inside field and will be shown like dropdown on search form

if you searching by text, like energy efficiency A.B,C then use DROPDOWN or INPUTBOX

On frontend you need to be of course logged in with admin, then on wanted page you can click "Edit with Elementor"

There are many fields which you can use to build your pages, of course you can combine also elements from other Elementor plugins. Maybe most simple if you import demo data, and then investigate how pages are build and add your own changes or completely new pages.

There are some special options in elements like Query where you can fetch/show only specific listings based on wanted specific parameters

in this case field_5, field 5 is actually purpose id #5 is visible in dashboard on fields management page, location_id and category_id also can be used same as any other custom field

field_5=sale means actually that value must contains sale

if you want exact same value then use:



Video examples:


Colors you can change in Elementor, example to change serch button color:

In general always check al ltabs in elementor options, yo uwil lfound many options

If not found some very specific styling you can add with custom css

Custom CSS can be usualy added via customizer, guide: https://www.wpbeginner.com/plugins/how-to-easily-add-custom-css-to-your-wordpress-site/

Or also in some elements we put custom css like:


Booking is Addon Plugin so you need to enable them, if you don't have it then you need to buy it.

Possible to purchase here: https://wpdirectorykit.com/plugins/wp-directory-booking-calendar.html

1. To show calendar on listing preview page you need to edit your listing page (element available only on listing page!) with elementor and add calendar element on wanted position.

Also Rates/Availability/Pricing table can be added same way


2. Contact form is needed for reservation functionality on listing preview page

3. To enable Booking features, for specific listings you need to add Calendar and availability dates/prices

Admin can add via dashboard or owner/agent via frontend dashboard also

4. You should also add some availability dates and rates

If you noticed no results:

Most probably:

for specific listings you need to add Calendar and availability dates/prices from dash

or your available dates are already reserved as described above

Payment is supported via woocommerce, support almost any payment gateway, can be enabled in settings:

Similar thing as for previous page building:

But here is now special category for listing preview elements WDK LISTING PREVIEW, which are specificaly related to this specificaly page:

WDK Field Value is one of most standard elements:

This field is a bit special, it also autodetect if you enter youtube or link and for example show video or show link

Link is very usable if you need for external website link, phone number, whatsapp number or similar

This way you define whatsapp number:

select your field which contains url like page url or whatsapp url etc
as value, use https://wa.me/<number> where the <number> is a full phone number in international format. Omit any zeroes, brackets, or dashes when adding the phone number in international format.
system will auto detect if thats url, and will make link, but will show field label text instead
for tel you using like tel://<number>
Also we added support for shortcodes like:
[wdk-listing-field-label field_id='19']
[wdk-listing-field-value field_id='19']
enable_html attr can be used to show html layout, not just blank values
this maybe you can use on some places / external plugins

Video examples:


Listing preview

[wdk-listing-field-label field_id='19'] - Label of field
[wdk-listing-field-value field_id='19'] - Field value + suffix/prefix (possible define attr post_id, like post id)
[wdk-listing-field-value-suffix field_id='19'] - Field suffix
[wdk-listing-field-value-prefix field_id='19'] - Field prefix
[wdk-listing-field-value-text field_id='19'] - Field value (possible define attr post_id, like post id)

field_id for special main fields, key are:

Title = post_title
Description = post_content
Address = address
Category = category_id
Location = location_id

Latest listings

[wdk-latest-listings-list] - show latest listings in list view

custom_class (string) - custom css class
order (string) - order by for results
conf_query (string) - custom string query like field=xx&field_2=xxx
limit (int) - limit listings, default 2
only_is_featured (string), yes, if yes show only featured
conf_custom_results (string) - like 1,2,3,4,5 where id is id of listing

Favorite heart

[wdk-favorite-action], show action add/remove favorite

page id or profile, auto detected

Example (on page this is element, but shortcode same looks):



[wdk-review-avg] - show avg rating of profile/listing (just stars 1 -5 )

Example (this is shortcode)



1. You need to translate static texts / po fiels

Install and activate Loco Translate plugin

POedit or similar tools are not suggested because are more complicated to use and sometimes simply doesn't work out of the box.

Video examples:


If you will have only one language on website, so no multilanguage, just translation, then you simply go over complete page content and change to wanted language one by one, example this is most important parts to translate:

so all posts, pages, directory kit fields, then listings, and menu

If you need multilanguage / multilingual

1. Make part 1 for your default language, usualy default is english so can be skipped if so

2.A (More simple) AUTOMATIC TRANSLATION for multilanguage - one option is that you have only one language on site like "English" and all other are automatically translated by googel. For automatic translation you can use plugin Gtranslate https://wordpress.org/plugins/gtranslate/

2.B MANUAL TRANSLATION, this way clients/you will need to translate all listings to multiple languages, so enter manualy values for every single language

This is very hard to manage later if you have many listings so think twice about this, thats why booking.com and similar popular postals don't allow that, but use only english instead.

Of course, sometimes this is simply requried and you need manage manualy multiple langs on page.

We working on this feature currently and cooming soon


You need WDK  import/expor plugin and wp all import plugins:




Export is available in XML, Tools->Export WDK Listings:


Install and activate "wp all import" plugin, free version is enough.

Video instructions: https://www.youtube.com/watch?v=b1yS0uuA9xA


All Import->New Import->Upload a file->Selected wanted file from filesystem for import->New Items->WDK-Listings->Continue to Step 2

In step 2 select node element of listing, usualy auto selected and Continue to Step 3

In step 3 drag and drop / mapping wanted elements from your file structure to wanted fields in system, example:

In step 4 define id, also with drag and drop

After that continue and run import


Because of many servers limitations, we define max 5 images upload for listing. If needed possible to change this number in wp-contentpluginswdk-wp-all-importwdk-wp-all-import.php, search for

private $wdk_num_images = 5;

should be around line 40, and change to wanted number, if you have control on max execution time config on server.

Membership plugin is required for this feature:


In elementor you can add some predefined custom fields to registration form to become auto populated:

Can be also populated here from frontend dashboard

On edit listing preview page and form in elementor, yo ucan add custom fields:

If you use woocommerce, also woocommerce support some fields population important for payments


Membership addon you can purchase on our website:


Instalaltion video with 2 scenarious (just plugin or complete theme):


Agents Quick User Guide:


How to add content on membership dashboard?

Sometimes you want to show some elements only on specific dashboard page

One simple solution via elementor is to use plugin Dynamic Visibility for Elementor


After activating this plugin you will found tab visibility on every element, and based on GET variable you can show specific content, example for favorites:

So put this here:


Example video: https://wpdirectorykit.com/codecanyon/docs/img/managa-dashboard-pages.mp4

Other way is manualy via file editing HTML etc, for this check section custom coding. This is more suitable for theme builders, but you can also redesign complete layout very in detail, on HTML level


For SEO we suggesting to use Yoast plugin for regular pages.

On listing pages we added compatibility in fields way, so you need to populate this fields, title, keywords and short description, example:


email texts most simple to change with loco translate plugin (check translation section, is same thing, you can replace words with translation also)

email templates are here for now:

you can put into your theme your customized email templates by guide in next section

For custom css/style changes check this: https://www.wpbeginner.com/plugins/how-to-easily-add-custom-css-to-your-wordpress-site/

Main functionality is implemented in plugin wp directory kit.

Code is structured in standard wordpress boilerplate starter plugin: https://wppb.me/

Arhitecture is based on MVC, base library: https://github.com/sandiwinter/winter_mvc

In plugin code thats located here:

similar structure you will found also in our other plugins/addons

helpers contains basic small "helper" functions

folders like elementor-elements, elementor-extensions, shortcodes, widgets, languages are all well known for all elementor/wordpress developers

vendor, there we put winter_mvc library

demo-data contains data and iamges for import demo data

tgm-pa is popular library which suggesting to install recommended plugins etc, more info on http://tgmpluginactivation.com/

Build custom HTML / View files for specific elements

All elements have own view files in MVC arhitecture and loading specific view files like example:

We implement feature to customize view files in way, that you can add your custom layout into your own theme.

For this example we will create one new layout for this listings results, so we will copy existing file into theme:

so copy it to path:


Just for example we will add basic HTML code:

And this code is now visible on website:

Example for result item card:

File related: wp-content/themes/nexproperty/wpdirectorykit/application/views/frontend/result_item_card.php

or similar based on different theme name, here in example is nexproperty

code example for such contact button:

    <div class="wdk-card-footer">
        <a href="<?php echo esc_url($url);?>#elementinvader_addons_for_elementor_1101595239" class="wdk-button"><?php echo esc_html__('Contact','nexproperty');?></a>

Screen from file:

So now you can make your completely own design for any element

= Does it works with all themes? =

Yes all themes supported

= Does it require other plugins to work properly? =

You can use it without any additional plugin but for complete functionality like custom fields and elementor support you need to install recommended plugins

= I have troubles with favorites saving or some old data on website even after refresh? =

Please try to disable all caching plugin and tools in your wordpress, server or pc

= How to change currency? = Link

Currency is just prefix/suffix on related price field in wpdirectorykit plugin.

Dashboard->Directory Kit->Fields->Edit sale price or rent price and change suffix/prefix

= How to change language? =

Translation: http://wpdirectorykit.com/documentation/#!/translations

Video: https://www.youtube.com/watch?v=ip1dJm6xc-0

So use loco translate and translate/rename fields in admin dashboard

= How to add new country in locations? = Link

Admin->Directory Kit->Locations->Add location

Select Parent: Root

In Title enter new country name

Click on Save

= Error: Internal Server Error (500) = Link

Please try multiple times, maybe some temp issue on server.
Also try disable mod_security in cpanel or ask hosting provider to disable temporarily for install.

This usually happen because of some unusual server configuration.

You can check php.ini configuration, try use this values:

upload_max_filesize = 128M
post_max_size = 128M
max_execution_time = 5000
max_input_time = 2000
memory_limit = 512M
max_input_nesting_level = 128
max_input_vars = 10000
output_buffering = 4096
If issue persists please contact our support team and provide wp-admin and cpanel/ftp will be great so we can test in detail on your side. Also provide info/link about hosting provider and package are you using

Regarding hosting providers, we using in our demos cpanel version from:


Sometimes php.ini can be changed directly in cpanel, try check for multi php ini editor or similar php config in cpanel

Timeout example, but can be any message or even no message in browser console:

Example solution:

But sometimes even this don't help because server providers have limitations, then you can ask them to increase it or do something to reduce time, for example if you do import listings then reduce number of images for import per one listing and similar.

= Social Login Import = Link

We suggest using third parity free plugins like https://wordpress.org/plugins/nextend-facebook-connect/

So install this plugin

Will look like this:

In Settings you need to define default member type:

Enable Facebook or other login by plugin instructions:


And in elementor drag and drop it on wanted place like:


= What is difference between listings and membership subscribtions = Link

listing subscription is only for one specific listing, while membership is on user base, so can be for multiple listings. For example if you wish to buy better listing ranking, on top of results, you will buy listing subscription
with some rank, higher rank mean better position in search results and can be more expensive

But if you want allow clients to add specific number of listings for specific date period and similar options/restrictions, then you need membership subscription

= Troubles with SiteGround Hosting? =

Sometimes caching options causing troubles to some plugin like cooming soon/under construction/maintance plugins etc

1. Install SG Optimizer plugin

2. Disable all caching options inside plugin


= How are currency conversation calculated? =

Converted Value = (Default Value/Default currency Index)*Converted Index

Real example:


Feel free to contact us via support@wpdirectorykit.com, please provide your purchase code, screenshot, video, sketch, login credentials and everything what may help in solving your issue quickly.

If you have new ideas, we have roadmap ideas list and upvoting here for new ideas:


We will do our best to help you.

Regarding hosting providers, we testing on:


Special thanks to:

  1. Wordpress
  2. TGM PA
  3. WordPress Boilerplate
  4. Elementor
  5. WP all import
  6. Stockspan for photos
  7. PXhere for photos
  8. jQuery
  9. Bootstrap
  10. Documenter

Thank you so much for purchasing this item!