Exploring Theme Development
Planning Your Build
Know what you want before pen hits paper.
Create site map/outline so you know what page templates you need.
Single project or reusable theme?
Submitting theme to WP theme repository will have certain rules you need to follow. Certain pages in theme, copyright issues, etc.
What do you want your theme to do? Is WP even right for the project?
You can do anything PHP can do, but not all things are good projects for WordPress (ecommerce).
Wireframe
Use boxes to show your content areas.
No Page Left Behind
- Know which page types you will want to use so you can build for them ahead of time.
- Public Release? You should include default template files.
Development Environment
Physical Environment
- Code is poetry, workspace should be clean and tidy.
- Avoid distraction
- Respect your sanity, or lack thereof. Take plenty of breaks.
Essential Tools
- A good text editor is essential.
- FTP client for uploading/downloading
- Image editors (Photoshop, GIMP)
- Utilities (code snippet storage, digital color meter, Firebug, on-screen ruler, Web Developer in Firefox, MeasureIt)
Hosting
- Mimic anticipated deployment environment
- Local hosting vs. remote hosting
Local Filesystem Efficiency
- Organize your files – common plugins, icons, textures, etc.
- Become a packrat; you never know when you might need it again.
Frameworks
- Framework is a almost-blank canvas. Functions sans styles.
- They are a huge time saver to help you not repeat code.
Options
- Build your own
- Popular frameworks – Thematic, Sandbox, Hybrid
- Be careful of upgrades killing your theme. Save as a completely new theme, or do merges via repository.
Development
- Template Tags in Codex covers frequently used tags in theme development. Plugins use Function References.
- Template Development Standards is important for getting into public theme repository.
- Child theme are less strict since already based on parent theme.
Theme Unit Test
- Theme Unit Test will test theme with every possible type of data in WordPress template.
Leave a Reply