Unit 16: Object Oriented Programming

Learning Outcomes

Students will:

  • Understand the difference between a class and an object.
  • Be able to create objects.
  • Be able to define and use classes.
  • Have an understanding of properties and methods.
  • Be able to understand inheritance and extend a class.
  • Be able to understand how to use static properties and methods.


Object Oriented Programming for Beginners

Term Project


You must build a complete responsive website that allows for content management by the client.

  • Create a custom plugin to display portfolio items for the client’s paintings. The plugin should have an admin options page that allows the user to choose how the portfolio is displayed.
  • The client would like the name of the painting and an image of the painting displayed for each portfolio post.
  • The client would like the paintings to be classified into three galleries.
  • The client would like an about page, and a contact form page. You can makeup a fake bio for the about page, include the author’s picture (site assets folder) on the about page.

Basic Requirements

  • Create a child theme for a theme of your choice.
  • Create a custom post type called portfolio.
  • Use custom fields where needed.
  • Your plugin you will need to display the porfolio posts.
  • The post can display in any way you wish to design. It could even have a rollover effect or could use some jquery special effects (ie. you could use a jquery plugin.)
  • Make it responsive.
  • You will be evaluated according to the rubric


  • You may add any other options if you have time. For example you could add an option to add likes to posts.
  • You could even display posts according to which ones have the most likes. Use your imagination in terms of options.
  • Try to integrate some ajax into the site.