PTA Core
Core WordPress plugin for PropertyTaxAppealGuides.com (Stripe + R2 + Mailjet + dynamic blocks)
★ 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/billhector/pta-core/archive/refs/heads/main.zipCore WordPress plugin for PropertyTaxAppealGuides.com.
Subsystems
- Commerce — Stripe Checkout, R2 SigV4 pre-signed URLs (10-min TTL), magic-link redownload, custom
wp_pta_orderstable, refund handling - Mail — Mailjet SMTP override of
wp_mail(), Mailjet RESTClient+Send(v3.1) +Contacts(managecontactslists), branded transactional templates (order confirmation + refund) - Schema — Product JSON-LD for
county-guideanddownloadpost types - Blocks — Six dynamic blocks:
county-contacts,municipality-dropdown,conditional-municipality-lookup,county-purchase(EDD; removed Plan E),related-guide-posts,buy-button(Stripe Checkout) - Hooks —
upload_mimes(woff/woff2/ico), 4-week remember-me cookie, login form auto-check,save_postauto-assign state taxonomy - Analytics — GA4 server-side Measurement Protocol on
pta_core_order_paid(no-op when GA4 constants unset); client-sidegtag.jsloader onwp_head - Routes —
/{state}/{county}/rewrite + 301 from legacy/guides/{slug}/+ canonical permalink filter (post_type_link)
Requirements
- WordPress 6.5+
- PHP 8.2+ (8.4 in dev/prod)
- Companion theme: pta-blocks
Local development
Built and tested on Local-by-Flywheel. Production: Dreamhost VPS.
No composer. Manual PSR-4 autoload (autoload.php) maps Pta\Core\ → src/. REST API calls use wp_remote_post(); no SDKs.
Deploy
GitHub Actions → Dreamhost VPS via SSH git pull. See .github/workflows/deploy.yml. Push to main triggers a deploy in ~10 seconds.