UCSC Custom Functionality
Adds custom functionality to UCSC WordPress Websites.
by UC Santa Cruz · github.com/ucsc/ucsc-custom-functionality · website
Install
The author publishes release zips, so WP-CLI can install straight from GitHub:
wp plugin install https://github.com/ucsc/ucsc-custom-functionality/releases/download/v2.0.6/ucsc-custom-functionality.zipReadme
UCSC Custom Functionality
A WordPress plugin that provides theme-independent custom functionality for UC Santa Cruz websites. By keeping features like custom post types, blocks, shortcodes, and admin customizations separate from the UCSC theme, future theme changes won't affect site functionality.
All Sites
These features are active on every UCSC WordPress site using the plugin.
Admin Customizations
- Removes the deprecated Link Manager from the dashboard sidebar
- Hides the Customizer from the admin bar for users without theme editing capabilities
Analytics & Security
- Google Tag Manager integration for site analytics
- SiteImprove analytics and accessibility check script
Shortcodes
[site-search]— Embeds a Google Site Search results page with context-aware domain detection[copyright]— Displays a copyright symbol with the current year[last-modified]— Shows a post's last modified date (or creation date as a fallback)
Settings Page
An admin settings page under Settings > UCSC Custom Functionality provides plugin version and feature overview
News Block
The News block is available on all sites. It displays news articles with configurable layout, taxonomy filtering, and visibility toggles for image, date, excerpt, author, and tags. Built with Advanced Custom Fields and registered via block.json.
News Sites Only
The following features require the UCSC_NEWS_SITE constant to be defined as true. They provide content management tools tailored to the UCSC news site.
Custom Blocks (ACF)
| Block | Description |
|---|---|
| Featured News | Query-based block for featured stories with a CTA link |
| Magazine | Two-line title/subtitle layout with repeating items (title, byline, image, description, CTA) |
| Photo of the Week | Single photo selector with title and "All Photos" CTA |
| Press Inquiries | Up to 2 inquiry contacts (name, email, phone) plus media file and description |
| Media Coverage | Query loop for the media coverage post type |
| Related Stories | Displays up to 3 manually selected or automatically queried related posts |
| Post Header | Configurable post header layout (small or large image) |
Query-based blocks support three query modes: latest posts, automatic (pull from a taxonomy), or manual (select posts individually). Results are cached with 20-minute transients.
Custom Post Types
- Photo of the Week (
photo-of-the-week) — A post type with custom fields for photographer credit and image, with a public archive and REST API support
Custom Templates
- Post Single — Custom single post template
- Photo of the Week Archive — Custom archive template for the Photo of the Week post type
Integrations
- Yoast SEO — Registers primary term support for UCSC-specific taxonomies (academics, administration, person, section, kind)
- Co-Authors Plus — Adjusts the author block to support multiple authors
- ACF — Registers a simplified WYSIWYG toolbar (bold, italic, link) used by block fields
Requirements
- WordPress 5.5+
- Advanced Custom Fields PRO
- Define
UCSC_NEWS_SITEastrueto enable news-specific blocks, post types, templates, and integrations
Project Structure
lib/functions/ Legacy procedural functionality (admin menus, scripts, settings, shortcodes)
src/
Blocks/ ACF block field group definitions
Components/ Block rendering controllers (data preparation for views)
Hooks/ ACF field hooks for dynamic taxonomy/term loading
Integrations/ Third-party plugin integrations (Yoast, ACF toolbars)
Object_Meta/ Custom post meta field definitions
Post_Types/ Custom post type registrations
Query/ Query modifications
Template/ Custom block template registrations and render filters
views/ Block view templates and block.json files
Core.php Plugin bootstrap and service registrationRead the full README on GitHub →
Releases
| Tag | Published | Asset | Downloads |
|---|---|---|---|
| v2.0.6 | Apr 15, 2026 | ucsc-custom-functionality.zip | 8 |
| v2.0.4 | Apr 13, 2026 | ucsc-custom-functionality.zip | 3 |
| v2.0.3 | Apr 10, 2026 | ucsc-custom-functionality.zip | 1 |
| v1.9.8 | Apr 9, 2026 | ucsc-custom-functionality.zip | 3 |
| v1.9.7 | Mar 24, 2026 | ucsc-custom-functionality.zip | 7 |
| v1.9.5 | May 23, 2025 | ucsc-custom-functionality.zip | 19 |
| v1.9.4 | May 23, 2025 | ucsc-custom-functionality.zip | 1 |
| v1.9.3 | May 22, 2025 | ucsc-custom-functionality.zip | 2 |
| v1.9.2 | May 21, 2025 | ucsc-custom-functionality.zip | 3 |
| v1.9.1 | May 13, 2025 | ucsc-custom-functionality.zip | 3 |
| v1.9.0 | May 12, 2025 | ucsc-custom-functionality.zip | 1 |
| v1.8.4 | Apr 22, 2025 | ucsc-custom-functionality.zip | 6 |
| v1.8.3 | Apr 17, 2025 | ucsc-custom-functionality.zip | 4 |
| v1.8.1 | Apr 3, 2025 | ucsc-custom-functionality.zip | 0 |
| v1.8.0 | Apr 3, 2025 | ucsc-custom-functionality.zip | 1 |
| v1.7.5 | Mar 18, 2025 | ucsc-custom-functionality.zip | 3 |
| v1.7.4 | Feb 7, 2025 | ucsc-custom-functionality.zip | 4 |
| v1.7.3 | Feb 6, 2025 | ucsc-custom-functionality.zip | 5 |
| v1.6.0 | Jun 10, 2024 | ucsc-custom-functionality.zip | 4 |
| v1.5.3 | Jan 10, 2024 | ucsc-custom-functionality.zip | 5 |
| v1.4.0 | Oct 10, 2023 | ucsc-custom-functionality.zip | 9 |
| v1.3.0 | Dec 9, 2022 | ucsc-custom-functionality.zip | 10 |
| v1.2.2 | Oct 24, 2022 | ucsc-custom-functionality.zip | 10 |
| v1.2.1 | Aug 17, 2022 | ucsc-custom-functionality.zip | 12 |
| v1.2.0 | Aug 8, 2022 | ucsc-custom-functionality.zip | 8 |