Custom Theme Development

If you are developing your own theme, buying a “premium” theme, or commissioning the development work to one of the university’s approved suppliers, or to any other contractor, please read these guidelines carefully.

Theme design

All themes should ensure that the code they generate is valid HTML, and that the accessibility of the theme confirms to Web Content Accessibility Guidelines (Level AA) where appropriate.

Themes should employ a responsive design methodology to ensure the site works well on all target devices, and use progressive enhancement in any scripting to emphasise accessibility.

Theme updates

Themes which are downloaded and used from the theme repository at wordpress.org are always updated as soon as the new version of the theme becomes available. Care should be taken to minimise the risk of any unexpected behaviour as a result of an update. Under no circumstances should theme files be modified in such a way that these modifications would be overwritten when an update is applied.

If you have purchased a “premium” theme for your site, or commissioned a custom theme from an external supplier, you will need to pass on any details of the contract you have with the theme supplier to us so updates can be applied to your theme as they become available. This may mean that you will need to purchase a support contract with the theme vendor, or it may mean that an additional plugin will need to be installed to allow for these updates to be applied automatically. Prior to purchasing a “premium” theme or commissioning a custom theme, you will need to find out how updates to the theme are applied and pass on the information to us.

It is not acceptable to use a mechanism to prevent themes or plugins from being automatically updated, as this could leave the site vulnerable to attack from any subsequently discovered security flaws

Plugin Usage

For information about developing custom plugins, please see the Custom Plugin Development page.

If a theme is dependent on a set of Plugins to enable its operation, the full list of dependencies must be cited prior to any development work taking place. As the update policy for Plugins from the wordpress plugin repository is the same as that for themes (i.e. all plugin updates will be applied as soon as they are released), any support contract for custom theme development should also include ensuring the theme will still operate as planned when these updates are applied.

If any plugins are “adapted” from those available in the wordpress plugin repository, the plugin header should be modified to ensure that any updates by the original author of the plugin are not applied to the modified plugin. In such cases, the provider of the “adapted” plugin should include details of how bugs or enhancements in the original plugin will be merged with their adapted codebase in their support contract.

We will not normally deploy any plugins or themes which are designed to suppress any of the default behaviour in WordPress (suppressing updates in dependent plugins or changing the default Dashboard menus, for instance). If the functional specification cannot be met in any other way, then a case for their use must be presented by the developer for consideration by the Faculty web team.