# Property Archive System MLS-based property listing and filtering system for the real estate website. ## Files | File | Purpose | |------|---------| | `property-filters.php` | Filter form UI (Type, Location, Beds, Price Range) | | `property-filters.js` | AJAX filtering without page reload | | `property-filters.scss` | Filter bar and map view styles | | `property-filters-sticky.php` | Sticky filter bar variant | | `property-results.php` | Property grid with pagination (MLS data) | | `property-card-mls.php` | Individual MLS property card component | | `property-card-minimal.php` | Compact property card for featured sections | | `property-agent.php` | Agent sidebar widget on single property | | `property-gallery.php` | Gallery component for property detail | | `single-property-mls.php` | Single MLS property detail page | | `agent-card-minimal.php` | Compact agent card for property pages | ## Data Source All property data comes from the MLS plugin (`wp-content/plugins/mls-by-hansonxyz/`). Use `mls_get_properties()` to query listings. ## Sorting Logic Properties are sorted by: 1. **Status**: Active first, Pending second, Sold third 2. **Modified Date**: Most recently modified first within each status group ## Filter Fields - **Type**: MLS property type (House, Land, Commercial, etc.) - **Location**: MLS city - **Beds**: Minimum bedrooms filter - **Price Range**: Min/max price filter Status filter was removed - all properties (Active, Pending, Sold) are always shown. ## Map View Toggle between Grid and Map views. Map view: - Uses Leaflet.js with OpenStreetMap tiles - City-based coordinates from MLS data - Properties displayed in half-height map + 2-column grid