WP Manifestindependent plugin directory
manifest / content / aps-piano-teacher-directory-app

APS Piano Teacher Directory App

Private WordPress plugin for Alex's Piano Service LLC. The plugin adds a searchable, sortable Maine piano teacher directory through the [aps_piano_teacher_directory] shortcode.

by Alex's Piano Service LLC · github.com/diskchord/aps-piano-teacher-directory-app

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/diskchord/aps-piano-teacher-directory-app/archive/refs/heads/main.zip

Private WordPress plugin for Alex's Piano Service LLC. The plugin adds a searchable, sortable Maine piano teacher directory through the [aps_piano_teacher_directory] shortcode.

Private Repository

This repository is private and proprietary. Do not publish, redistribute, or reuse the code or directory data outside Alex's Piano Service LLC without permission.

No open-source license is granted.

Features

  • Search by teacher, town, or region.
  • Filter by ZIP, town, or region radius.
  • Show an interactive Maine map with stylized flag location markers and a visible ZIP radius circle.
  • Keep the collapsed map page-scroll-friendly on touch devices, then enable drag and pinch interaction when expanded.
  • Include travel-only service areas in search and radius filtering without adding false fixed-location map pins.
  • Sort by distance, teacher name, town, or region.
  • Render server-side teacher cards before JavaScript enhancement.
  • Output JSON-LD ItemList structured data.
  • Preserve accessibility-friendly labels, status text, and no-JavaScript fallback content.

Project Structure

aps-piano-teacher-directory-app.php  Main WordPress plugin file
README.md                           Repository documentation
README.txt                          Plain-text install notes for plugin zip users

Requirements

  • WordPress site with permission to upload and activate private plugins.
  • Modern browser support for the enhanced directory controls.
  • Network access to the external services listed below when the map or ZIP lookup is used.

Installation

  1. Create a plugin zip from this directory.
  2. In WordPress, go to Plugins > Add New > Upload Plugin.
  3. Upload the zip file and activate the plugin.
  4. Add this shortcode to the target page:
[aps_piano_teacher_directory]

Packaging

From this directory:

zip -r aps-piano-teacher-directory-app.zip aps-piano-teacher-directory-app.php README.txt README.md

The generated zip is intentionally ignored by git.

Development Notes

  • The teacher directory data is embedded in aps-piano-teacher-directory-app.php inside aps_ptd_teacher_data().
  • The September 5, 2026 verification audit documents sources, additions, corrections, and remaining follow-ups.
  • The shortcode renderer is aps_piano_teacher_directory_shortcode().
  • The plugin is intentionally self-contained: PHP, CSS, HTML, JavaScript, and structured data are all in the main plugin file.
  • Before committing PHP changes, run:
php -l aps-piano-teacher-directory-app.php

External Services

  • The map uses Leaflet loaded from unpkg and OpenStreetMap tiles.
  • ZIP lookup uses local fallbacks for common listed towns and falls back to Zippopotam.us for other US ZIP codes.
  • Town and region searches use listed location coordinates to apply the selected mileage range.
  • Distance calculations use public studio addresses when a teacher or school lists one publicly, otherwise listed town coordinates.
  • Fixed locations create map pins; non-map serviceAreas contribute only to search, region, and distance coverage.

Git Notes

  • Commit source files and documentation.
  • Do not commit generated zip files, local WordPress installs, environment files, editor state, logs, caches, or dependency directories.
  • Because this is a private plugin, review contact information and directory entries before sharing any archive outside the private repo.