ORAS Member Hub
A Wordpress plugin that is a member hub
★ 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/shadowgar/oras-member-hub/archive/refs/heads/master.zipMember-facing dashboard hub plugin for the Oil Region Astronomical Society (ORAS).
Overview
ORAS Member Hub provides a shortcode-driven members area with:
- a modular main dashboard
- a modular account sidebar
- guest gating for protected content
- integrations for events, tickets, and membership/account links
- filterable extension points for customization
Requirements
- WordPress 6.0+
- PHP 7.4+
- Optional integrations:
- The Events Calendar (TEC)
- ORAS-Tickets plugin / REST routes
- WooCommerce account endpoints
- Paid Memberships Pro (PMPro)
Installation
- Place this plugin folder in your WordPress plugins directory.
- Activate ORAS Member Hub in WordPress Admin.
- Add the main shortcode to a page:
[oras_member_hub]
- Optional standalone tickets widget shortcode:
[oras_my_tickets]
Shortcodes
Main hub
[oras_member_hub]
Renders the full member dashboard layout.
Tickets widget
[oras_my_tickets]
Renders the tickets widget container used by the frontend script.
Module Architecture
Core bootstrap:
oras-member-hub.php
Primary implementation files:
includes/member-hub-shortcode.phpincludes/member-hub-modules.phpincludes/shortcodes/my-tickets.phpincludes/services/class-oras-mh-conditions-service.php
Main modules include:
- Conditions summary
- Upcoming events
- My tickets / reminders
- Resources
- Community updates
Sidebar modules include:
- Membership status
- Account links
- Order history
- Profile settings
Hooks and Filters
Common extension points include:
oras_member_hub_main_modulesoras_member_hub_sidebar_modulesoras_member_hub_render_outputoras_mh_upcoming_events_limitoras_mh_upcoming_events_itemsoras_member_hub_my_tickets_rest_path_baseoras_member_hub_my_tickets_print_path
Data and Integration Behavior
- Events use TEC APIs when available, with fallback querying.
- Tickets rely on ORAS-Tickets REST routes and degrade gracefully when unavailable.
- Membership and account links adapt based on PMPro and Woo availability.
- Conditions module uses Open-Meteo and transient caching.
Development
Local wp-env
- Start:
npx @wordpress/env start - Stop:
npx @wordpress/env stop - WP-CLI:
npx @wordpress/env run cli wp plugin list
Quality checks
Install tooling:
composer install
Run full local quality gate:
composer quality
Run CI-equivalent subset:
composer quality:ci
Quality pipeline includes:
- PHP syntax lint
- PHPStan static analysis
- PHPCS (WordPress coding standards)
CI
GitHub Actions workflow:
.github/workflows/static-analysis.yml
Runs on pull requests and pushes to main/master.
Security Notes
- Hub access is gated for logged-in users.
- REST calls use WP REST nonces where applicable.
- Data ownership checks are expected from upstream systems (for example ORAS-Tickets).
Project Status
Current roadmap focus:
- complete and refine data integration for tickets/resources/conditions
- improve personalization and member context
- iterate on UX/performance
- evaluate future observatory-focused power features
See full roadmap in:
docs/ROADMAP.md