WordPress plugin that loads site-specific functionality for the primary UC Santa Cruz websites: www, news, and events.
The plugin uses a registry/loader/module architecture:
- Site Registry -- maps named site groups (e.g.
www,news,events) to URL patterns and module classes. - Site Loader -- resolves the current site URL against the registry and boots matching modules.
- Modules -- self-contained feature classes that register hooks, post types, blocks, and other WordPress functionality.
Sites are matched automatically by URL pattern (e.g. https://news.ucsc.edu). An admin settings page under Settings > UCSC Primary Sites allows overriding any group to always-on, always-off, or auto (URL-based).
| Group | Patterns | Modules |
|---|---|---|
| WWW | www.ucsc.edu, *www-ucsc* |
Front Page, Dashboard Widgets |
| News | news.ucsc.edu, *news-ucsc* |
Media Coverage, Dashboard Widgets, Block Variations |
| Events | events.ucsc.edu, *events-ucsc* |
Block Bindings, Users Events Column |
- Create a class in the appropriate
sites/<group>/modules/directory that extendsUCSC\PrimarySites\Module. - Implement
get_name()andboot(). Optionally overridecan_load()to check dependencies. - Add the class to the group's module list in
sites/registry.php.
- WordPress 6.4+
- PHP 8.0+
- ACF Pro (required by the Media Coverage module in
news; other modules load without it)
This plugin is licensed under the GPL-2.0.