User Tools

Site Tools


This is an old revision of the document!

Theme Creation

If you are building a site from scratch, converting an existing site to GetSimple or you have a web page you want to use as a template you need to create a GetSimple Theme which will define the html and css of your web pages. There is a Step-by-Step Tutorial for converting a static html page into a simple theme. Just as a single html file can define a web page there is only one truly required theme file, and that's template.php. template.php defines the html of the default page layout for most pages within your site, but you can make other page templates and set particular pages to use an alternative template by choosing it within the Page Options → Template setting:

Dynamic content is inserted into your page template by using template tags similar to WordPress (if you are familiar with that). You then place that file within it's own uniquely named folder and install it on your server. All template pages are written in PHP.

Anatomy of a Theme

the default page template template.php goes inside a folder named specifically for your theme, and placed within the theme folder of your GetSimple installation such as: /path/to/getsimple/theme/my_theme/template.php You can rename a theme by renaming the folder that contains it.

Other files found in a template folder are:

  • Normally an external stylesheet referenced in the html of the page template file.
  • Alternative, optional templates for other pages such as homepage.php or contact.php. They will be available for selection in Page Options.
  • A file named editor.css in the theme folder will enable the CKeditor to display page content more accurately.
  • Any images used in the theme, along with favicons and backgrounds
  • An image of your theme saved in an images folder as /path/to/getsimple/theme/your-theme/images/screenshot.png will be displayed on the Theme Selection Page in the Admin Pages.1)
  • A file functions.php contains any custom functions that are used within your theme.
  • Sometimes template files are split into parts and saved as partial template files with names like
  • sometimes javascript and other files are included in the theme

Theme Development Tips

  • Start any PHP file within your theme with <?php if(!defined('IN_GS')){ die('you cannot load this page directly.'); } ?>. This will stop any unwanted direct access to that particular file.
  • Most themes id the body of the html by writing the opening body tag <body id=“<?php get_page_slug(); ?>” > It makes it easy to restyle a single page.
  • Many plugins require <?php get_header(); ?> between the <head> tags and <?php get_footer(); ?> somewhere before the end </body> tag.
  • urls in php template files need to be written as absolute links not relative, in the form http://www… or better still with the path called by <?php get_site_url(); ?> or <?php get_theme_url(); ?> so that they will always be correct even if the site is moved.


Back to the GetSimple Wiki Contents Page

Pages in this Section


Be sure to name it that exact name or else our system will not pick it up. Lowercase AND in the folder /images/ AND named screenshot.png
themes/creation.1383521623.txt.gz · Last modified: 2013/11/03 23:33 by Timbow