Theme Creation

There is a Step-by-Step Tutorial for converting a static html page into a php template for a GetSimple theme.

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. 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 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:

Content is inserted into your page template by using template tags similar to WordPress. You then place that file within it's own uniquely named folder and install it on your server. All template pages are given the .PHP extension.

Anatomy of a Theme

The default page template named 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. If you just want to add another template as part of an existing theme you may place it in that theme's directory with any name other than functions.php and *.inc.php and it will show in the selection field of the above form.

Other files found in a theme 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
  • A screenshot 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 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


1) 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