Jon Burgess

WordPress Developer

[email protected]

Hello! My name is Jon Burgess. I am a WordPress developer.

I have a lot of experience building custom WordPress themes. I have experience developing custom post types, post meta fields, settings pages and settings fields, and creating widgets. I’ve done a lot of this work with the ACF Pro plugin but I’ve also done it all with the default WordPress hooks.

Please see below for some examples of my work!

Zywave Public Site Build

I developed the entire custom theme for the Zywave public website. The site features multiple custom page templates developed with ACF Pro which were meant to be easy to edit for team members with no coding experience.

Below you can find images of the frontend and backend of some of the page templates with a link to the current live site.

The backend fields have many different options based on the content that could potentially be added, rather than just building exactly how the design was made.

Some Hero sections have the option for a slider of popup Wistia videos, or they could just be 1 static image with no video.

Most of the Buttons are added with a Repeater field even when the design only had one button so that we can easily add more if needed.

Also, the Accordion template features an anchor nav in the Hero linking to the corresponding section below on the page. The hrefs for the anchor links are automatically generated when the repeater field content is built in the template file.

Homepage
View Live Site
Product Page
View Live Site
Blog Archive
View Live Site
Accordion Template
View Live Site

Parent Theme and Child Theme for CMS Replacement

Our company had thousands of websites on a custom built CMS. I was responsible for building the replacement for this custom CMS using WordPress.

I created a Parent Theme containing the core functionality of the old CMS, such as the frontend and backend for several Custom Post Types, and several configurations for things like Header Images, Forms, and Sidebars, which all had a set of default values that could then be overwritten if needed.

I also created a base Child Theme, containing several common ACF Field Groups and the related SCSS files to make it easy for the other developers to start creating new Themes.

These themes would be used by hundreds of different clients on a multisite install, so there needed to be many options available on the site for customization based on client requests, since we wouldn't be able to edit theme files for individual clients.

Post Type Archive

Our Themes have many different Post Types. I created this meta box and the frontend output to display a custom archive listing of each Post Type instead of using the default WordPress archives.

The corresponding taxonomy for each Post Type is displayed with conditional logic, and we have the ability to include or exclude whichever ones are selected.

We are also able to display taxonomies in separate sections, with the ability to drag and drop the order they should display. This was a common request from clients, especially for the Staff page.

Filter by Taxonomy
Taxonomies displayed in separate sections, drag and drop to change the display order

Default Settings, Post Meta Overwrites

One feature was the ability to set default values for Post Types with a Setting and then be able to overwrite that value for individual Posts with a Meta Field.

For example, the "Page" Post Type could have the "Contact Us" form as its default form, but then the single "Refer a Friend" Page could be given the "Refer a Friend" Form based on a Post Meta field without having to use multiple form widgets or multiple sidebars.

Also, the IDs of the Gravity Forms are added to the select field using an ACF hook, so the options will automatically update if a new Gravity Form is added to the site.

Settings (Default)
Post Meta (Overwrite)

Gravity Forms JSON Import from Static Form using jQuery

One problem we faced when migrating clients from the old CMS to our new WordPress platform was copying over content that had no kind of data export available, such as custom forms.

I wrote a script using jQuery to loop through the forms on these sites to create a JSON string which could be used as an import file into Gravity Forms. The script was pasted into the console of the page with the form and a JSON string was returned.

With this script we were able to convert several long custom forms into Gravity Forms in just a few minutes.

Static Form
jQuery Function
The resulting Gravity Form

Static Blog XML Import using jQuery

Our company also had an old blogging system with no export feature. I wrote a script using jQuery to loop through the hundreds of blog posts and create an XML import file that could be imported into WordPress.

Static Blog List
jQuery Function
The resulting WordPress Posts