Property Listing Manager
Plugin Created for property listing management.
by Noor ur Rehman · github.com/therehmandev/listing-manager · website
★ 0stars
0forks
Install
No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:
wp plugin install https://github.com/therehmandev/listing-manager/archive/refs/heads/master.zipReadme
Property Listing Manager
Custom WordPress plugin for managing property listings with admin tools, CSV export, and a frontend shortcode with AJAX filters.
📦 Installation
- Zip the plugin folder
taskdesol - Copyor use the provided ZIP. - In WordPress admin, go to Plugins > Add New > Upload Plugin.
- Upload and Activate.
🏗️ What’s Included
-
Custom Post Type:
pm_listing(menu: Property Listings)- Admin Menu: Property Listings
- All Properties (list table)
- Add New Property (edit screen)
- Admin Menu: Property Listings
-
Meta Fields (auto-populate via ZIP):
- Property Name (uses post Title)
- Agent
- Location
- Price
- Bedrooms
- Bathrooms
- ZIP
- Address
- City
- State
- Country
-
ZIP Auto-fill
- Free API:
http://api.zippopotam.us/us/{zip}(e.g. 90211) - AJAX endpoint:
get_location_by_zip
- Free API:
-
Admin List Table Enhancements
- Columns: Agent, Address, City, State, Country, Price, Bedrooms, Bathrooms, Date
- Sortable: Agent, City, State, Country, Price, Bedrooms, Bathrooms
- Filter: Dropdown by Agent
- Export to CSV button above the table (nonce-protected)
-
Frontend Shortcode
- Shortcode:
[pm_listings agent="John Doe" bedrooms="3"] - Features:
- AJAX search by property name
- Agent dropdown (AJAX populated)
- Bedrooms dropdown (1+, 2+, 3+, 4+, 5+)
- Price range slider (jQuery UI) with min/max inputs
- Start/End date pickers (jQuery UI)
- Responsive, professional UI styles
- Shortcode:
🔧 Usage
-
Add/Edit Property
- Admin > Property Listings > Add New
- Enter ZIP (e.g. 90211) to auto-populate address, city, state, country, and location
-
Export CSV
- Admin > Property Listings > All Properties
- Click “Export Listings to CSV”
-
Frontend Listing
- Add
[pm_listings]to any page or use optional params:agent: Pre-filter by an agent namebedrooms: Pre-filter by minimum bedrooms
- Add
📁 File Map (Key Files)
taskdesol.php— Bootstrap constants and loaderplugin-loader.php— Registers hooks, shortcode, AJAX, and assetsinc/listing.php— Registers CPT “Properties” (slugpm_listing)inc/listing-meta-feilds.php— Meta box fields and savinginc/listing-api-handler.php— ZIP to address AJAX via Zippopotam APIinc/listing-table-col.php— Admin columns, sorting, and agent filterinc/listing-export-data.php— Export-to-CSV button and download handlerinc/shortcode-properties.php— Shortcode markup and AJAX endpointsinc/js/pm-listing-zip.js— Admin ZIP AJAX autofillinc/js/shortcode-properties.js— Frontend filters, slider, date pickers, AJAXinc/css/shortcode-properties.css— Styles for filters and table
🔒 Security
- All AJAX endpoints use nonces (
pm_zip_nonce,pm_listings_nonce). - Export action uses a nonce and checks
manage_optionscapability.
🧪 Requirements
- WordPress 6.x
- PHP 7.4+
- jQuery (bundled with WordPress)
- jQuery UI (for slider and datepicker; uses WP-bundled scripts if present)
📝 Notes
- The price slider defaults to 0–1,000,000 with 1,000 steps. Adjust in
shortcode-properties.jsif needed. - Date filters compare publish date.
🧰 Development
- Hooks and assets are registered in
plugin-loader.php. - Shortcode enqueues its assets on render, minimizing global load.