• Skip to primary navigation
  • Skip to main content
Texas IDX
  • Solutions
  • Features
  • Resources
    • Documentation
    • Support
    • MLS Coverage
  • Pricing
Live Demo Get Started

Texas IDX

v1.0.9
  • Overview
  • Installation
  • Shortcodes
    • texas_idx
    • texas_idx_search
    • texas_idx_single
  • Parameters Reference
  • Dynamic Queries (q)
  • Single Property Template
  • Debugging
  • Performance

Texas IDX Developer Documentation

Complete technical documentation for integrating and customizing the Texas IDX plugin for WordPress.

What is Texas IDX?

Texas IDX is a WordPress plugin that integrates with Bridge Interactive's RESO-compliant API to display real estate listings from any supported Texas MLS. It provides shortcodes for embedding property grids, search functionality, and detailed single property views.

Key Features

  • RESO API Integration: Connects to Bridge DataOutput API for HAR MLS listings
  • Flexible Layouts: Grid (1-8 columns) and list views with responsive breakpoints
  • Advanced Search: Price range, beds, baths, property type filters with AJAX
  • Google Maps: Split-screen map view with property markers
  • Smart Caching: Database-backed caching with configurable TTL
  • Dynamic Queries: Powerful q parameter for CPT integration and custom solutions
  • Skeleton Loading: Smooth loading placeholders prevent layout shift

Requirements

WordPress5.0+
PHP7.4+
Bridge Interactive APIDataset ID + Server Token
Google Maps APIOptional, for map features

Installation & Setup

1. Plugin Installation

# Upload to plugins directory
/wp-content/plugins/texas-idx/

# Or via WordPress admin
Plugins → Add New → Upload Plugin

2. API Configuration

Navigate to MDG Reso → Settings in WordPress admin:

SettingDescriptionExample
Dataset IDBridge Interactive dataset identifierhar
Server TokenAPI authentication tokenabc123...
Cache DurationSeconds to cache API responses3600
Default LimitDefault listings per page12

3. Google Maps (Optional)

  1. Get API key from Google Cloud Console
  2. Enable "Maps JavaScript API"
  3. Enter key in MDG Reso → Settings
  4. Configure default center coordinates and zoom level

Shortcodes

Texas IDX provides three primary shortcodes for displaying listings:

[texas_idx]

The main shortcode for displaying property listings in grid or list format.

Basic Usage

[texas_idx]

Displays 12 active listings in a 3-column grid.

With Search & Map

[texas_idx show_search="true" show_map="true" columns="4" limit="20"]

Office Listings

[texas_idx officeId="NWAG01" show_search="true"]

Agent Portfolio

[texas_idx agentId="AGENT123" columns="4"]

Multiple Specific Listings

[texas_idx id="12345;67890;11223" columns="3"]

Rental Listings

[texas_idx propertyType="Leases" limit="12"]

Note: When propertyType="Leases", the status filter is automatically removed to show all rental listings (available and leased).

Card Layout Styles

[texas_idx card_layout="overlay"]  // Details overlay on image
[texas_idx card_layout="standard"] // Details below image (default)

[texas_idx_search]

Standalone search form shortcode (legacy, typically use show_search="true" instead).

[texas_idx_search]

[texas_idx_single]

Display a single property by listing ID.

[texas_idx_single id="12345678"]

Parameters Reference

Complete list of all shortcode parameters for [texas_idx]:

Filtering Parameters

ParameterTypeDefaultDescription
id string - Filter by listing ID(s). Separate multiple with semicolons.
listing_id string - Alias for id parameter.
q string - Powerful query parameter for address search with wildcard support. Ideal for CPT integration. Supports semicolon-separated values.
officeId string - Filter by office MLS ID. Multiple: ID1;ID2
agentId string - Filter by agent (searches MlsId, FullName, Key).
status string Active Property status (Active, Pending, Sold, etc.).
city string - Filter by city name.
postalCode string - Filter by ZIP code.
minPrice number 0 Minimum list price.
maxPrice number 0 Maximum list price (0 = no limit).
beds number 0 Minimum bedrooms.
baths number 0 Minimum bathrooms.
propertyType string - Property type: Residential, Residential Lease, Land, etc.

Display Parameters

ParameterTypeDefaultDescription
limit number 12 Results per page (max 200).
offset number 0 Starting offset for pagination.
layout string grid Display layout: grid or list.
columns number 3 Grid columns (1-8).
card_layout string standard Card style: standard or overlay.
show_search boolean false Display search form above listings.
show_map boolean false Show map toggle switch.
map_open boolean false Start with map view open.
map_columns number 2 Grid columns when map view is active.

The q Parameter (Dynamic Queries)

The q parameter is one of the most powerful features for building custom real estate solutions. It enables dynamic address-based searches with wildcard support and semicolon-separated values.

Basic Wildcard Syntax

[texas_idx q="85* Tulane"]     // Starts with "85", contains "Tulane"
[texas_idx q="* Oak Street"]   // Any address on Oak Street
[texas_idx q="123 Main"]       // Contains "123 Main" (case-insensitive)

Multiple Address Matching (Semicolon Separated)

Pass multiple addresses or patterns separated by semicolons to display a specific group of listings:

[texas_idx q="123 Oak Lane;456 Pine Street;789 Maple Ave"]

This is especially useful for showcasing developments, builder inventory, or curated collections.

CPT Integration Use Case

The q parameter is designed to work seamlessly with Custom Post Types (CPTs). Store address patterns in a custom field, then pass it dynamically to the shortcode.

Example: New Development CPT

Create a "Development" CPT with a custom field for listing addresses:

// In your CPT template or page builder:
$addresses = get_field('development_addresses'); // ACF field
// Field value: "* Sunset Boulevard;1245 Harbor View;8800 Marina*"

echo do_shortcode('[texas_idx q="' . esc_attr($addresses) . '" columns="3"]');

Example: Builder Inventory

A builder selling homes in multiple subdivisions:

// Custom field stores: "* Oakwood Estates;* Riverdale Heights;* Pine Valley"
$builder_communities = get_post_meta(get_the_ID(), 'builder_communities', true);

echo do_shortcode('[texas_idx q="' . esc_attr($builder_communities) . '" 
    columns="4" 
    show_search="false" 
    card_layout="overlay"]');

Example: Street-Level Marketing

Display all homes on a specific street or in a specific area:

[texas_idx q="* Memorial Drive" columns="3" limit="24"]

Combining with Other Filters

The q parameter can be combined with other filters for more refined results:

[texas_idx q="* Downtown*" minPrice="500000" beds="2" propertyType="Residential"]

How Wildcard Matching Works

PatternMatches
* Oak StreetAny address containing "Oak Street"
123*Addresses starting with "123"
*HeightsAddresses ending with "Heights"
123 MainContains "123 Main" (no wildcards)

Performance Tip

When using multiple semicolon-separated values, each generates an OR condition. For large lists (10+ addresses), consider breaking into multiple shortcodes for better performance.

Single Property Template

The plugin registers a rewrite rule for single property pages:

URL Structure

Pretty permalinks: /property/{listing_key}
Plain permalinks:  /?mdg_property={listing_key}

Template Location

/wp-content/plugins/texas-idx/templates/single-property.php

Accessing Property Data

// In template
$property = get_query_var('mdg_property_data');

// Available data
echo $property['address'];
echo $property['price'];
echo $property['beds'] . ' beds, ' . $property['baths'] . ' baths';

// Images
foreach ($property['images'] as $image) {
    echo '<img src="' . esc_url($image) . '">';
}

Customizing the Template

To override, copy to your theme:

/wp-content/themes/your-theme/texas-idx/single-property.php

Note: Template override functionality requires additional hooks to be added.

Debugging

Enable Debug Mode

Navigate to MDG Reso → Settings → Enable Debug Logging

PHP Debug Logs

Location: /wp-content/debug.log

MDG RESO - Shortcode reso_shortcode() called
MDG RESO API - Processing q parameter: Houston
MDG RESO API - Office Filter Applied: ListOfficeMlsId eq 'NWAG01'
MDG RESO API - Full Filter Query: StandardStatus eq 'Active' and ListOfficeMlsId eq 'NWAG01'
MDG RESO API - Total count returned: 45
MDG RESO - Cache HIT! Returning slice from offset 0 with limit 12

JavaScript Console Logs

MDG RESO JS - Initial container params: {"q":"","limit":12,"offset":0}
MDG RESO JS - Loading listings with params: {...}
MDG RESO JS - Pagination: Loading with params: {offset: 12, limit: 12}

Visual Debug Info

When debug mode is enabled, property cards display:

  • Office ID
  • Agent ID
  • Office Name
  • Agent Name

Common Debug Patterns

Log MessageMeaning
Cache HIT!Results served from cache
Cache MISS!Fresh API request made
API Error Code: 401Invalid server token
WARNING: No filters applied!All properties will return

Production Warning

Always disable debug logging in production. Debug mode adds significant logging overhead and exposes internal data.

Performance Optimization

Asset Loading

The plugin conditionally loads assets:

  • CSS: Always loaded (small, needed for styling)
  • JavaScript: Always loaded (needed for AJAX/interactions)
  • Google Maps: Only loaded when show_map="true"

Lazy Loading

  • Images use loading="lazy" attribute
  • API and Cache classes instantiated only when needed
  • Thumbnail slider loads images on interaction

Caching Benefits

Without caching: 100 page views = 100 API calls
With caching:    100 page views = 1 API call (first request)

Batch caching:   10 pages × 12 items = 1 API call (100 items cached)

Optimization Tips

  • Increase cache duration in admin settings for stable listings
  • Use specific filters to reduce result sets
  • Limit columns on mobile (responsive CSS handles this automatically)
  • Disable debug logging in production

Convert Visitors Into Clients

Showcase your brand with customizable layouts and a modern search experience that converts visitors into clients.

Texas IDX

Made With in Houston, Texas

Features

  • Solutions
  • Features
  • Resources
  • Pricing

Resources

  • Solutions
  • Features
  • Resources
  • Pricing

Stay up to date

© 2026 Texas IDX. All rights reserved.

Privacy Terms Cookies