WP Manifestindependent plugin directory
manifest / content / listing-manager

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.zip

Readme

Property Listing Manager

Custom WordPress plugin for managing property listings with admin tools, CSV export, and a frontend shortcode with AJAX filters.

📦 Installation

  1. Zip the plugin folder taskdesol - Copy or use the provided ZIP.
  2. In WordPress admin, go to Plugins > Add New > Upload Plugin.
  3. 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)
  • 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
  • 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

🔧 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 name
      • bedrooms: Pre-filter by minimum bedrooms

📁 File Map (Key Files)

  • taskdesol.php — Bootstrap constants and loader
  • plugin-loader.php — Registers hooks, shortcode, AJAX, and assets
  • inc/listing.php — Registers CPT “Properties” (slug pm_listing)
  • inc/listing-meta-feilds.php — Meta box fields and saving
  • inc/listing-api-handler.php — ZIP to address AJAX via Zippopotam API
  • inc/listing-table-col.php — Admin columns, sorting, and agent filter
  • inc/listing-export-data.php — Export-to-CSV button and download handler
  • inc/shortcode-properties.php — Shortcode markup and AJAX endpoints
  • inc/js/pm-listing-zip.js — Admin ZIP AJAX autofill
  • inc/js/shortcode-properties.js — Frontend filters, slider, date pickers, AJAX
  • inc/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_options capability.

🧪 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.js if 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.

Read the full README on GitHub →