Midterm Requirements

The midterm assignment is to create a custom WordPress theme from scratch. You will use your own HTML and CSS (I gave the OK to use markup you created for another class, but you will have to customize it to make it work as a theme). In creating the theme you must meet the following requirements.

Midterm Project Requirements

Due Date

The midterm is due on Monday, April 22.


The project is worth 100 points. Points for each requirement are listed in square brackets [x]. If you don’t have a required file then you lose all points. If you have the file but there are errors with it then you get partial points.

BASIC FILES: You are required to create the following pages:

  • [10] style.css: this is the default stylesheet. Make sure your name is in the Theme Name in the comments at the top. You can copy the comment at the top from any working theme and change the data. The rest of the CSS on the page should be what you wrote for the theme.
  • [10] index.php: This is the default template for rendering content. It should be the first page you create and it should use get_template_part(‘content’); to read in content.php inside the loop. You’re responsible for the structure of this page and it comes from your original HTML design. More info on Template Tags in Cheatsheet.
  • [7] content.php: this is a template part and is responsible for showing the content of a post. The HTML on this page comes from your original design.More info on Template Tags in Cheatsheet.
  • [7] header.php: This contains the top part of the page including the opening html, head and navigation and anything that you want to appear at the top of every page.More info on Template Tags in Cheatsheet.
  • [7] sidebar.php: this contains the sidebar with a widgetized sidebar area. More info on Template Tags in Cheatsheet.
  • [10] functions.php: This is used to help show the sidebars and menus. We covered in in few days, most recently on 4.11.13 and there were 4.11 files. There is also information in the Cheatsheet

CONTENT SPECIFIC FILES: These pages are for specific types of content and can be based on index.php.

  • [5] single.php: this template is used to show a single post. More info on Template Tags for this page here: Cheatsheet.
  • [5] page.php this template is used to show a single page. We covered it on 4.4.13 More info on Template Tags for this page here on the Cheatsheet. Example in 4.4 files
  • [5] search.php: This file shows the results of a search. We covered it on 4.4.13 and there are class files for that day 4.4 files. Remember that you will also need to add the search form. This can be accomplished through calling the template function
  • [5] archive.php: This is the file that list archive pages when people request to see all posts for a particular date, tag or category (there is also author but that is not required for this project). We covered it in this class 4.11 and there are class files for that day 4.11 files.
  • [5] 404.php: this is the page that shows if the user requests a page that doesn’t exist. Because the content for this page is static you can create this page withought the WordPress Loop (it’s also optional to include a sidebar, but you should have header and footer or some way of navigating back to a page on the site). We covered it on 4.4.13, and there are files in 4.4 files
  • [5] content-single.php: this shows the content in the loop for single.php. It is based on content.php but can be tailored for showing a single post.
  • [5] content-page.php: this shows the content in the loop for page.php. It is also based on content.php but can be tailored for a single page. Covered on 4.4.13 and example in 4.4 files

You are also required to implement the following functionality

  • [7] 2+ menus: You need a main navigation and then at least one more navigation (for most of you it will be a navigation in the footer). The navigation must use a custom theme menu location and a menu created in the dashboard. See the following tutorial for more information on how to create the menu locations and menus LINK. We covered on 4.11.13 and examples in files for 4.11 files and 4.9 files
  • [7] 2+ sidebars/widget areas: You wil need at least two areas that allow for widgets. Most of you will have the sidebar located in sidebar.php. Where you put the other area(s) is up to you. In class we demonstrated placing three of them in the footer.php. We covered on 4.9.13 and 4.11.13 with examples in 4.11 files

[7] Extra Credit: create a custom page template.

on 4.11.13 we covered custom page templates which are basically the same as other pages (index.php, page.php) except that they have a comment at the top of the file that identifys them as page templates. You use them by selecting the template when creating or editing a page. These only work on pages, not posts. We covered on 4.11 is an example file in in the class files 4.11 files.

Turning it In

Turn it in by

  1. Making sure Your Name is part of the folder name for the theme. like: MidtermTheme_ChrisStein
  2. zip the folder and
  3. upload it to Blackboard for the Midterm Theme assignment

The due date again is Monday, April 22.

Leave a Reply