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
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.zipPrivate 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
ItemListstructured 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
- Create a plugin zip from this directory.
- In WordPress, go to
Plugins > Add New > Upload Plugin. - Upload the zip file and activate the plugin.
- 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.phpinsideaps_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
locationscreate map pins; non-mapserviceAreascontribute 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.