HomePostsMar 23, 2015

Become A WordPress Developer Overnight After 4 Months of Work

This is a summary of an email I sent to someone who wants to get into creating custom WordPress themes and plugins. I’ve been doing this for over 7 years now and would like to think I have something interesting and helpful to say about this. I definitely welcome your comments and feedback on this list, particularly if you’re a self-taught developer working in the industry.


So, very long story as short as I can make it, there are 4 things you absolutely need to have to create sites in WordPress:

  1. Knowledge and understanding of HTML (not tons to learn here but critical)
  2. CSS (tons to learn here but you can get by without knowing everything; this will likely be the most frustrating to obtain)
  3. Basic understanding of PHP and how it works
  4. Basic understanding of WordPress APIs and how to find the answers you need

You’ll notice that JS is excluded here. I do that because you can, for the most part, do everything you need without JS at first and it’s important that you know how. JS is definitely the lingua franca for the internet but it can be very confusing, especially without a good understanding of how to program and the DOM in general.

Here’s the best advice I can offer you for learning everything above:

Onward!

HTML & CSS

I’m combining these two together because they’ll serve you well forever regardless of what platform or language you land on. I would start here before you ever touch PHP/WP code so that you’re not hamstrung by the fundamentals down the road.

Here are a few good resources I’ve found online to start with for HTML and basic CSS:

Get through those 3 and you’ll be in excellent shape for HTML, probably better than 80% of the developers out there.

I would recommend moving onto learning about the DOM because it’s very much related to HTML. This starts to lean into JS, which is fine, but it will help you solidify what you learned about HTML.

So, now you know HTML through-and-through and you’ve been exposed to CSS. Time to get a little more in-depth with it.

CSS is a weird, weird language. It does a lot of things that don’t make a lot of sense and is interpreted differently by different browsers. You will have many hours of frustration with it but that’s OK. Try to re-frame out of hating CSS because (1) it’s important to know and (2) not many people can do it really well. It’s a critical skill to have.

Here are a few good resources:

Things I would highly suggest when writing HTML and CSS:

PHP

PHP is not a hard language but it’s also a little wonky sometimes. This works in your favor, for the most part, because it’s intuitive up until you’re running into hard problems.

The first thing to understand about PHP is that it’s interpreted by a server. When you load a WordPress site for the first time, the server opens up the index.php file and runs through the code to figure out what to do. In order to write and execute PHP, you need to have a local server up and running. Best/easiest option for Mac is
MAMP.

Once you get that up and running, you should be able to add/edit in index.php file in the document root (MAMP will show you where that is) to add the following:

<?php
echo ‘Hi Josh’;

Load that in your browser (likely at localhost:8888) and celebrate. I’m not sure how much further to get into the basics but if you get stuck getting a local environment running, that should be the first thing we cover.

Here are a few basic resources for learning PHP:

Tips and tricks:

WordPress code

So you’ve slogged through all of that and you now should be able to build your own website in PHP that does something dynamic (vague, I know). Now we dive into WordPress.

WordPress is basically just a bunch of stuff that’s been done for you. There are hundreds (thousands?) of functions you can use to make your life easier, it’s just a matter of finding which ones. The key in WordPress development is to
do things the “right” way. You shouldn’t have to do much hacking to make it work.

Here’s the track that I would take:

There is a ton of information in those pages but it’s all part of the skill set.

Here are a few rules of the road:

There are so, so many others but these are the ones that come immediately to mind.

< Take Action >

Suggest changes on GitHub ›

Comment via:

Email › GitHub ›

Subscribe via:
RSS › Twitter › GitHub ›

< Read More >

Tags
Software Engineering Personal Development WordPress
Newer

Apr 09, 2015

WP-Drudge on Alan.com

Alan Colmes needed a central hub for his news curation and community surrounding his radio show and books. We've been iterating on this site for a few years and finally settled on a very customized version of the WP-Drudge theme I created.

Older

Mar 05, 2015

Intermediate Sass/SCSS class in Seattle

For web development folks in Seattle who want to level up on Sass, SCSS, Bourbon, and the like, I'm helping to organize an intermediate-level class sometime in the next couple of months.