Modifying a Theme

Once you’ve picked a theme, you’ll probably want to tweak some colors or add a logo to make your site consistent with your nonprofit brand. There are a variety of ways to do this and a few to avoid!

Ways to modify a theme listed below are ordered from easiest to hardest. You should try them in that order in most cases.

What Not to Do: “Hacking” your theme

If you know how to edit CSS, HTML, or PHP files (or read instructions on how to do it!), you may be tempted to modify the files that come with your theme. Many tutorials suggest to “add code to your functions.php file,” “edit your style.css file,” or use the Appearance > Editor feature. DO NOT DO THESE THINGS!

Should your theme ever have an update after doing those things, you will either:

  1. Lose your changes.
  2. Not update your theme.

There are plenty of good ways to tweak your theme listed below.

Theme Options

The first, best, and easiest way to modify your theme is with “Theme Options” provided by the theme. Even if you want to modify things that can’t be changed with theme options (see below), still use any provided options first. Doing it this way means others can still change these settings in the future, and it’s probably faster anyway.

The number, type, flexibility, and location of theme options varies widely. You should consult your theme’s documentation if possible to find where they are. The most common location for theme options are:

  1. Appearance > Customize > {Theme Options}
    • Or “Customize” in the top admin bar
  2. Appearance > {Theme Options}
  3. {Theme Options} in the left-side admin menu

“{Theme Options}” is a placeholder for the actual menu item title. It will likely be something similar like “Theme Options,” “Options,” or “{Name of Theme} Options”.

If you plan to make a child theme (see below), set that up first as your Theme Options will not transfer from “parent” to “child theme.”

Custom CSS

If you know CSS and only need to tweak a few visual things (colors, margin/padding, backgrounds, etc.), using a Custom CSS plugin or theme option is the right choice for you.

Some themes come with a “Custom CSS” field to enter CSS code. For these that don’t, there are plugins that do that for you. My favorite is the Jetpack Custom CSS module (learn more about Jetpack on the Recommended Plugins page) which adds a new page at Appearance > Custom CSS for your new styles.

If you receive support from a theme or plugin author who tells you you’ll need some Custom CSS, this is how to do it!

Child Themes

If you need to make big changes to your site like adding custom templates, modifying the layout, changing the content in the header or footer, etc., then you probably need a Child Theme. Child theme’s are the WordPress way to safely change a prebuilt theme that you purchased or downloaded.

Rather than changing the code in your original theme, a child theme lets you selectively override and add to the files in your “parent theme”. For instance, if your theme was perfect except for the search results page, your child theme could do nothing but override that single template with your changes.

The beauty of a child theme is that if your parent theme updates, you don’t stand to lose any of your changes, because your child theme is completely separate. Better yet, you inherit any of the updates to the parent theme for files you haven’t modified.

Still looking for just the right theme? Check out the list of recommended WordPress themes for nonprofits.