Wordpress theme for Iowa State University.



Iowa State Wordpress Starter Theme

The starter theme for all ISU WP sites is based on the Timber Library and incorporates the Iowa State Frontend Library for styles, components and functionality. Please refer to that repository for specific information regarding the front-end library, and markup.

This theme utilizes twig for templating, and relies on the Advanced Custom Fields module.

Installing the Theme

Install this theme as you would any other, and be sure the Timber plugin, and ACF Plugin are activated.

  1. Make sure you have installed the plugin for ACF Pro.
  2. Download the zip for this theme (or install via composer) and move it to wp-content/themes in your WordPress installation.
  3. Activate the theme in Appearance > Themes.

Installing via composer

composer require iastate/wordpress-theme

Updating the frontend library

composer update iastate/frontend-component-library



Releases for this project should follow Semantic Versioning.

Steps when releasing:

  • Update style.css with the new release version, ie 1.0.1.
  • Commit (or merge) and push master to origin.
  • Tag 1.0.1 (the new release version), and push to origin. The tag is what composer uses to define a new release.

What's here?

  • inc/ is a folder for theme functions. It serves the purpose of the functions.php file in a more organized way.
  • vendor/iastate/frontend-component-library/ is the Iowa State Frontend Library, designed for the Iowa State family of websites. This is controlled by compoiser, and should not be modified here, except for testing.
  • wp_components/ is a Wordpress specific version of the component library. It contains styles specific to the Wordpress interface and editor, that are not a part of the ICL.
  • templates/ contains all of your Twig templates. These pretty much correspond 1 to 1 with the PHP files that respond to the WordPress template hierarchy. At the end of each PHP template, you'll notice a Timber::render() function whose first parameter is the Twig file where that data (or $context) will be used. Just an FYI.
  • acf_json/ is a json copy of the custom ACF data fields, they're used for syncronization across development environments.
  • bin/ and tests/ ... basically don't worry about (or remove) these unless you know what they are and want to.

Other Resources