How to create a wordpress theme

Here are some useful links when you want to create a wordpress theme:

http://themeshaper.com/2009/06/22/wordpress-themes-templates-tutorial/

http://themeshaper.com/2012/10/22/the-themeshaper-wordpress-theme-tutorial-2nd-edition/

Important points:

Theme sense (understanding the in and outs:

Think about:
Which files do I need to include in my theme?
What roles do these files play?
Why am I about to paste this bit of code into my theme?
Where did this bit of code come from, and who wrote it?
What purpose does this code bit serve?
Is it up to date?
Is it safe?

A theme is the structure made from the following blocks:
header.php
index.php
sidebar.php
footer.php

Theme development template files:
http://codex.wordpress.org/Theme_Development#Template_Files

Evaluate your theme to make sure that it meets coding standards using:

http://codex.wordpress.org/

Getting Started

Turn you computer into a local test server – xampp (xampp is an easy to install Apache distribution containing PHP, MYSQL and PERL)

Installed onto – C:xampp

Useful installer:

https://bitnami.com/stack/xampp?utm_source=bitnami&utm_medium=installer&utm_campaign=XAMPP%2BInstaller

Install xampp for wordpress:

http://sixrevisions.com/tutorials/web-development-tutorials/using-xampp-for-local-wordpress-theme-development/

Setting up your MySQL database for WordPress
The easiest way to create a MySQL database using XAMPP would be to use phpMyAdmin, which comes with the Basic Package that we installed.

** I was getting an error when starting apache so had to go to config and select “httpd.conf” file in the dropdown, then change the “Listen 80” line to “Listen 8080”. Save the file and close it.  And put http://localhost:8080/**

Navigate to phpMyAdmin through your web browser. The URL is:

http://localhost:8080/phpmyadmin/

I then ran into a problem when i tried to run:

http://localhost:8080/wordpress/wp-admin/install.php

Where it seemed to load but not complete (but couldn’t see the error.

I then came across this comment:

http://wordpress.org/support/topic/using-a-non-standard-port

and went to check my wp-config.php file and realised i’d put in:

/** MySQL hostname */
define(‘DB_HOST’, ‘localhost:8080’);

when i should have put:

/** MySQL hostname */
define(‘DB_HOST’, ‘localhost’);

It now works!

http://localhost:8080/wordpress/wp-login.php
http://localhost:8080/wordpress/wp-admin/