Creating Child Themes for the WordPress Platform
The default theme available for all sites on WSU’s WordPress platform is the Spine Parent Theme. This theme is intended to solve most use cases for the University and allows for a large amount of customization. Through the WordPress Customizer options for layout, Spine color, font, and more can all be changed. Through the Edit CSS plugin available to you in the site’s dashboard, style can be further customized.
In some cases, it makes sense to create a child theme to extend default functionality or provide additional layouts for content. The following will guide you through the steps necessary to create a child theme and publish it into production.
The WSU Spine Parent Theme and your child theme will work with any installation of WordPress. We provide a development environment using Vagrant in the WSUWP Platform repository to make it easier to see how your theme will look and feel in production.
It may also be worth looking through the many child themes already created for an idea of how to approach various tasks.
Once the child theme is ready, it should be submitted to Web Communication for code review. We review all code published to the central platform in order to maintain both security and performance for all sites and users.
A more thorough guide to the code review will be available in the future. Here are the highlights to keep in mind while developing your theme:
- Be explicitly aware with all data. Validate and sanitize user input. Escape user output. This guide is a brief introduction.
- Use the available WordPress APIs for common functionality. Most important for performance are the Object Cache API and the HTTP API.
- If you have any concerns or questions, please reach out sooner than later.
Submit themes for review to firstname.lastname@example.org.
The deployment process for our WordPress platform relies on the theme being version controlled and available in a GitHub repository. We will happily add you to the Washington State University GitHub team or work with your repository on another account. Full access to the theme is required so that we can correct any sudden issues quickly and in version control.
Deployments are processed with a combination of web-hook and semantic versioning tag. Every tag created as #.#.# will result in your theme being deployed to production.
When the initial code review has been completed, more instructions and guidelines for deployment will be provided.
There are many plugins available on the platform by default and it is sometimes helpful to have these activated in your local development environment. Take a look by first searching for plugin on the WSU GitHub account. Most helpful will be the Build Plugins Public repository. This contains all of the plugins that we use from the public wordpress.org plugins repo.
If you have a wsu.edu email address, please join our WSU Web Slack team to discuss any questions that come up. We also hold open labs in ITB 2025 every Friday morning from 9:30am-11:30am. This is a perfect time to bring up any questions.