WordPress Real Estate Plugin

This WordPress real estate plugin will sync with Zoo Property and import your property, team member and office details data into your local WordPress database. It will then display your office’s team member and property data through your WordPress website and provide a basic search too so users can search your site.

You can download the latest version here (V1.2 – released 10/10/2011)

Installation and Setup Instructions

1. Make sure you have a version of WordPress setup and installed.

2. Open the plugin zip and copy the “Realty” directory into your wp-plugin directories.

3. You also need to download zoo property api plugin ( Zoo property api plugin is importing your listings & agents data into your site ). Open the plugin zip and copy the “zooproperty_api” directory into your wp-plugin directories.

4. Go To Settings / Permalinks. Choose ‘Custom Structure’, and fill the field with ` /%postname%/ ` . Then press `Save`.

5. Activate these 2 plugins through the ‘Plugins’ menu in WordPress.

6. This plugin create a plugin page called Zoo Real Estate / General Settings

7. Go to General Settings sub page, then

  • Office ID: Add the Office ID ( your Office ID which you have entered in the Xml Parser sub page)
  • Display Pagination: Sales or lease page pagination ( you can choose to display only at the bottom of page, or only at the top of page. The default is displaying both )
  • Number Of Listings On Each Page: the number of listings that will display on sales or lease page. ( the default is 20 )
  • Display Sold Listings For Days: you can control to display sold listings in “n” past days on the website
  • Display Leased Listings For Days: you can control to display leased listings in “n” past days in the website
  • Google Maps Key: Get your Google Maps Key for your site / domain by pressing the “Google Maps Key (http://code.google.com/apis/maps/signup.html) ” link. Enter your google maps key in the Google Maps Key field.
  • Walk Score Key: There is a default value for “Walk Score Key”, but if the Walk Score Key does not match your domain location, you can get a new Walk Score Key by going to a property page on the site where the key will appear.
  • Team Description Chars: you can control the number of characters for the team description that appear on the team member page.
  • Display Sold Properties In Search Result: check this option to display sold listings in the sales page.
  • Display Leased Properties In Search Result: check this option to display leased listings in the properties for lease  page.
  • Number Of Latest Listings On Homepage: Number Of Latest Listings that you want to display on the Homepage. If you leave it blank, the homepage will not display any latest listings.
  • Number Of Featured Listings On Homepage: Number Of featured Listings that you want to display in the Homepage. If you leave it blank, the homepage will not display any Featured listings.
  • Featured Listings Id: you need to add the listing ID that you want to display as featured listings. Add as many as you want. If you leave it blank, the homepage won’t display any Featured listings.
  • Quick Search On Homepage: check this option to display a quick search on the homepage
  • Sort Listing By: you can set the default order / sorting of the listings on the sales and lease pages

8.This plugin creates 7 pages in wp page manager:

  • Home: display latest listings, featured listings and quick search
  • Sales: display all sales listings
  • Lease: display all lease listings
  • Sold: display all sold listings
  • Lease: display all leased listings
  • Team: display all team members
  • Property: display property page detail ( images, description, detail, open inspections, features, google maps, walkability , agent detail )

9. To activate the quick search on the home, sales and leased pages place this code inside the tag in the sidebar.php of the current active theme:

  • <?php
    global $realty;
    if(is_page(‘property’))$realty->element(‘property_sidebar’);
    elseif(is_page(‘sales’) || is_page(‘lease’))$realty->element(‘quick_search’);
    elseif(is_page(‘home’) && $realty->settings['general_settings']['quick_search_on_homepage']==’1′)$realty->element(‘quick_search’); ?>

23 Responses to “WordPress Real Estate Plugin”

  1. Micahel says:

    Plugin works, great thanks!

  2. Owen says:

    HI,

    I’m using this plugin and want to know how we can make some listings private (user needs to login) and then public so they can view them without logging in. With the structure of a property listing starting by firstly being listed behind the members login website, then after a portion of the development are sold to members, the listing can be published from the private to public website.

    Is this possible through Zoo Property and this WordPress plugin?

  3. Team Zoo says:

    Owen,

    Thanks for using the blog.

    1. You need to go into the property template in Zoo Property (where you edit the property details). If you look in features you will see you can add features. So what you need to do is add a feature which will flag the properties which will appear only in the public section. Once created you select this feature for all public listings.

    2. You then need to adjust the shortcodes on the search results in the public listings to only display properties with this flag.

    I hope this helps.

    Regards
    Ryan

  4. Team Zoo says:

    Hi All,

    There was a bug in parsing Leased Listings in the previous plugin. We’ve performed an update to the plugin to fix this bug and added a few other things:

    List of adjusted things in this plugin :
    - Adjusted xml parser & database to latest version
    - Fixed bug to parse leased listings
    - Display Office Statistic on wp-admin Xml Parser Page ( how many listings saved in wpdb)
    - Adjusted all generated pages from Zoo Real Estate plugin to display all post content filled in wp-page-manager

    You can download the latest version here (V1.1 – released 6/1/2011)

  5. Alex says:

    Hi,

    I can’t find the actual cron job command line anywhere to set cron job on my local (or any) server. The installation instructions for your plugin says cron job command in settings on this page but no such settings to be found – unless they are there and I simply cannot see them.

  6. Team Zoo says:

    Alex,

    Our apologies as the documentation text is a little confusing because of the wording used. We’ve updated the text as per above and added a screen shot for the section in wp-admin where you can see the cron commands.

    You can see this in the XML Parser page for the plugin.

    Regards
    Ryan

  7. Estate Developer says:

    Hi Guys,

    I’ve installed the plugin and configured it but after i press manual parse no listings appear on my site.

    Any ideas?

  8. Team Zoo says:

    HI Estate Developer,

    A few points:

    1. Just make sure you have entered the API keys correctly along with the XML urls.
    2. Don’t forget you need to add the office id in the Settings page on the plugin. Your data could be saved into the wp db but unless you add the office id then the listings will not appear on the frontend.
    3. You also need to make sure the Office in Zoo Property has status “Active”. The API will not work for offices with any other status

  9. Estate Developer says:

    Thanks it works now, it was point 2.

  10. Adrian says:

    With point 9.

    The quick search box is working great on the “lease” page but on all other pages the “property types” and “towns” section is not pre-populated with any values.

    The suburbs are populated by $suburbs = $realty->property_search(‘suburb’,$list); on line 8 of quick_search.php but the $realty object seems to be different on pages that aren’t actually a search page.

    Any ideas how we can get around this?

  11. Team Zoo says:

    Adrian, The dropdown options in the Quick search are determined by what data is saved to the wp db for properties. If there are no properties then 0 suburbs will appear. If there are 10 properties across 3 suburbs then 3 suburbs will appear.

    I think this is what the issue will be.

  12. Phil Rae says:

    Hi,

    Having installed this on a client’s site, I have experienced an annoyance when trying to manually parse XMLs from within the WP admin tool. Basically when I ran the “Parse ALL Available Listings” command, it said the Parse was successful, but nothing would come through.

    After a little investigation, I found that the PHP command exec() was disabled on my server, yet the plugin was not checking for this error message and so assumed the parse was successful. Therefore I’ve amended the parse_manual(), parse_sold(), parse_withdrawn(), parse_team() and parse_office() functions to include the following check:


    function parse_manual(){
    global $wpdb;
    $url=get_option('siteurl')."/wp-content/plugins/Realty/parser/all_property_smc.php";
    ob_start();
    $result = file_get_contents($url);
    ob_end_clean();

    if(strpos($result, 'Warning:') !== FALSE) { // warning message
    return "There has been an error... ". $result;
    }

    return "Parse successful";
    }

    Hopefully you can integrate it into an updated version of the plugin to help others avoid this problem.

    Thanks
    Phil

  13. Phil Rae says:

    Hi again, another bug for you…

    Line 77 on realty.php reads:

    $this->siteUrl = get_option(‘siteurl’);

    it should be

    $this->siteUrl = get_option(‘home’);

    “siteurl” is the location of the WordPress folder, not the actual site. This caused issues for links to properties from search results on my client’s site because I don’t have WordPress installed into the root of the site.

  14. Phil Rae says:

    Actually, this causes yet more issues a little further down as another variable wants to use the URL of the WordPress folder. Therefore, I’ve amended line 77 to 82 to contain the following (note the new wpUrl variable):

    $this->siteUrl = get_option(‘home’);
    $this->wpUrl = get_option(‘siteurl’);

    if ( ‘/’ != $this->siteUrl[strlen($this->siteUrl)-1]) $this->siteUrl .= ‘/’;
    if ( ‘/’ != $this->wpUrl[strlen($this->wpUrl)-1]) $this->wpUrl .= ‘/’;

    $this->pluginUrl = $this->wpUrl . PLUGINDIR . ‘/’ . basename(dirname(__FILE__)) .’/';

  15. Team Zoo says:

    Thanks for the feedback Phil, makes sense with what you are saying.

    We will include these adjustments in the next update we do early next month.

    Regards

  16. justin says:

    Hi all, thanks for a great post

    Random question: I talking to a property client who wants to update their site which was built about 12 years ago (!)
    They have an extensive database – it was built with software called “superbase”. (apperently they used Excell + mysql too)
    Does anyone know if this is importable to Zoo / wordpress?
    Or the most efficient way to extract the files?
    Its a longshot but thought i might be worth asking !!
    cheers Justin

  17. Where can I find the list of shortcodes to display such listings?

    I appreciate any help..

    Thanks..

  18. Hi,
    we are using the wordpress zoo real estate1.2 and zoo property 7.5.6 plugin in our wordpress website.

    site url : http://thepropertyexperts.com.au

    in the first time for few days it was fetched all listings.and working fine.

    but now from 2 days ago it is not updating the listings in to our site.
    means if we are adding a new listing or updating the existing one.it is not updating in to our wordpress site

    any help will be really apperciated.

  19. Hi guys ,I resolved my Problem.

  20. gourav says:

    prakash pradhan how u solve that one

  21. bessy says:

    were i cand find plugin for search by id post

  22. How to implement google street view on our site? Currently under development but totally think that there are not enough properties being passed from the xml towards the DB to generate the street view map required.
    Maybe im wrong but need your expert advice.
    We currently have the WordPress Real Estate Plugin.
    ps -> the above mentioned website is under dev and test to be ported to another domain.

Leave a Reply

About comments
Please be respectful of others when posting comments.

* = Required fields


(will not be published)