Profiles

WordPress Origin Story

WordPress is for people who don’t know how to program… is what I thought.

For more than a decade I built and rebuilt CMS’s for various projects. Step #1, built a user system. Step #1.5, remember how to probably salt and store a password hash. Step #2, figure out the different content types and build custom “page editors” for each. Step #n, explain that each thing that we didn’t figure out at the beginning meant either a big code change or forcing the editor to go into HTML mode.

Rinse and repeat the above with whatever is changing. MD5 is out, SHA1 is in. TinyMCE is out, FCKEditor is on, then out again. Bye-bye text, hello varchar(max)! Unicode…

About 5 years ago I started the process again for a new client but this time instead of just building what I knew I wanted to see what everyone else was doing possibly learn some new tricks. At the same time another client required WordPress for a project so I decided to get two carrots with one pull (vegetarian version of two birds) and dove into the code.

One of the first rules that every WP developer is taught is “don’t hack core”. Unfortunately for me, WP core wasn’t outputting what I wanted in some cases so I was forced to hack the core (sorry). That is, until I found out about hooks. Holy crap! I also saw that other CMS’s were doing that too and it was a game changer for me. When I went back to my custom CMS that I was building I knew I wanted these hooks so I rewrote most of it with this concept in mind.

Next I looked at WordPress’s actual database tables and I couldn’t find where they were storing the descriptions of their content types. There was a table called “wp_posts” with a “post_type” field, but where were the tables that described these types? There should be a “types” table and a “fields” table and a “field_types” table, then there should of course be the various join tables of “type_fields” and “field_field_type” and so on. But nope, WordPress did it all in code and they basically put everything into two main tables for “posts” and “meta”. Huh, a key-value store or property bag for meta information that allows for n items and I don’t need to rebuild my SQL code over each time. Okay, let’s rebuild my custom CMS with this in mind, too.

I think I rebuilt my custom CMS at least a half a dozen times with things that I learned from WordPress. Eventually that project shipped but I decided for my next project to jump in and give WordPress a full fair try and I haven’t looked back since.

Badges

CODE
2 badges
Core Contributor '15 Plugin Developer
CONTENT
1 badge
Documentation Contributor '17

Current Job

Director Of Web Development
Present
Vendi Advertising

Recent impact

Score weights high-impact work (commits, releases, approved translations, props) at 3x routine activity.

Last 30 days
0contributions
high0
medium0
score0
Last 90 days
0contributions
high0
medium0
score0
Last 12 months
1contribution
high1
medium0
score3

WordPress releases

Contributed to 3 releases
  • 6.9
  • 4.9
  • 4.4

Contributions

Type
September 2025
Sep 01 Mon · 04:02
Core high
Mentioned in [60698] on WordPress SVN:
Mail: Support inline attachments.
June 2024
Jun 27 Thu · 15:49
Forums med
Posted a reply to Non-SVN repo anywhere?, on the site WordPress.org Forums:
We didn't measure anything, so it is a micro-optimization. And almost all of the hooks…
Jun 25 Tue · 14:00
Forums med
Created a topic, Non-SVN repo anywhere?, on the site WordPress.org Forums:
I would love to help contribute to this, but I hate de…
November 2023
Nov 10 Fri · 22:47
Forums med
Created a topic, Hooks to notify that a post’s content changed, on the site WordPress.org Forums:
We are using the core save_post action to index or re-…
Nov 03 Fri · 15:08
Forums med
Created a topic, Enable for CPT, but be disabled by default, on the site WordPress.org Forums:
A client would like to use AddToAny with a specific CP…
Nov 03 Fri · 13:14
Forums med
Posted a reply to Edge-case bug with require/include and WP-CLI, on the site WordPress.org Forums:
Thanks for your very quick response and resolution!
Nov 02 Thu · 21:05
Forums med
Created a topic, Edge-case bug with require/include and WP-CLI, on the site WordPress.org Forums:
In the Wow_Plugin class, in the _includes method, ther…
October 2023
Oct 16 Mon · 19:28
Meta med
Wrote a comment on the post Changes to attachment pages, on the site Make WordPress Core:
In the dozens upon dozens of sites that I've built, including pure blog-only sites, I've…
March 2022
Mar 14 Mon · 21:52
Forums med
Posted a reply to How is anyone using this plugin?, on the site WordPress.org Forums:
You use that function, along with fly_get_attachment_image_src and/or fly_get_attachment_image.
September 2020
Sep 02 Wed · 14:13
Forums med
Created a topic, Trying to access array offset on value of type null, on the site WordPress.org Forums:
On three unrelated sites we're starting to see Trying …