How to customize detail page layout

How to customize detail page layout

Source Immo Detail Page Customization

Shortcodes vs Template Overrides

Overview

Source Immo single detail pages are built from modular template parts located inside:

/wp-content/plugins/source-immo/views/single/*_layouts/subs/

Each file inside a subs/ directory represents a specific section of the detail page (header, price, description, contact form, listings, reviews, etc.).

There are two supported customization methods:

  1. Method 1 — Using Shortcodes (Page Builder / WordPress Editor)

  2. Method 2 — Using PHP Template Overrides (Theme-Based Customization)

Both methods rely on the same underlying template parts.


Method 1 — Using Shortcodes (Page Builder / Editor)

This method allows you to assemble detail page sections directly inside:

  • The WordPress block editor

  • Elementor

  • WPBakery

  • Or any compatible page builder


Available Shortcodes

Property Listings

[si_listing_part part="..."]

Brokers

[si_broker_part part="..."]

Additional entities follow the same pattern:

  • Agencies → [si_agency_part]

  • Offices → [si_office_part]

  • Cities → [si_city_part]


How the part Attribute Works

The part attribute must match the filename inside:

/views/single/{entity}_layouts/subs/

Example:

[si_listing_part part="header"]

Loads:

/views/single/listings_layouts/subs/header.php

Examples from the Plugin Structure

Listing Parts

Located in:

views/single/listings_layouts/subs/

Common parts include:

  • header

  • header_price

  • description

  • rooms

  • image_gallery

  • summary

  • financials

  • expenses

  • location

  • related

  • open_houses

  • documents

  • share

  • list_navigation

Example usage:

[si_listing_part part="header"]
[si_listing_part part="image_gallery"]
[si_listing_part part="description"]
[si_listing_part part="rooms"]

Broker Parts

Located in:

views/single/brokers_layouts/subs/

Common parts include:

  • presentation

  • about

  • specs

  • rating

  • cities

  • stats

  • contact_form

  • listings

  • reviews

  • list_navigation

Example usage:

[si_broker_part part="presentation"]
[si_broker_part part="contact_form"]
[si_broker_part part="reviews"]

Important Notes for Page Builders

  • Always use the Shortcode widget/block (Elementor Shortcode widget, etc.).

  • Do not insert shortcodes inside text blocks that auto-escape HTML.

  • Avoid wrapping shortcodes in containers that alter output processing.

  • If output appears escaped or malformed, verify the correct widget type is used.


When to Use Method 1

Use shortcodes when:

  • You want drag-and-drop flexibility

  • You prefer visual layout editing

  • You are assembling landing-style detail pages

  • You do not need structural PHP changes


Method 2 — PHP Template Overrides (Advanced)

For full layout control, structural markup changes, or long-term theme integration, use the Source Immo templating system.

This method allows you to:

  • Override entire layout files (e.g., standard.php)

  • Override individual subs/ template parts

  • Restructure layout using custom HTML

  • Implement grid systems, sidebars, tabs, etc.

For full technical details on how the template override system works, including resolution order and directory structure, refer to:

Source Immo Templating System (Theme Override Mechanism)

That article explains:

  • The override lookup hierarchy (child → parent → plugin)

  • How to mirror the directory structure

  • Best practices for safe customization

  • Update-safe implementation


When to Use Method 2

Use PHP overrides when:

  • You need structural HTML changes

  • You want full markup control

  • You are developing a custom theme

  • You require advanced layout logic

  • You want long-term maintainability


Choosing the Right Method

Use CaseRecommended Method
Simple section arrangementShortcodes
Drag-and-drop page builder controlShortcodes
Advanced grid or sidebar layoutPHP override
Custom markup controlPHP override
Long-term theme-level customizationPHP override

Summary

All single detail pages are composed of modular template parts stored in:

/views/single/{entity}_layouts/subs/

You can either:

  • Assemble them using shortcodes (Method 1), or

  • Override templates via your theme (Method 2)

Both approaches are fully compatible with the Source Immo architecture and allow flexible, update-safe customization.