How to Build a Bespoke Page Builder in WordPress
- 4. PAIN POINT
MARKETING TEAMS
• Generating Creative Campaigns
• Want the freedom to implement
their own Designs, User Journeys,
etc.
• Don't always know HTML & CSS
• WYSIWYG Woes
WEB DEVELOPERS
• Working with multiple
departments
• Don't always have time to be
coding all their Designs, User
Journeys, etc.
• There's often a lot back-&-forth
• Hardcoded HTML can’t be easily
- 5. SO WHAT IS A PAGE BUILDER?
• Visual Composer
• Site Origin
• Demo examples…
- 6. PROS & CONS
• Have lots of features
• Rendered by shortcodes
– one DB call
• Easy to use
• Freedom
• Noisy looking interface
• Propriety clunky storage of data
– Technology lock-in
• Manage expectations
• Design inconsistencies
- 7. SOLUTION //
Build your own
(I will now demo our Page Builder initially for about 10-12mins)
Features include…
– (Sections,) Rows & Columns
– Building custom CTAs and adding them anywhere
– Hero Images
– Role-based Content
– Geolocation-based Content
– Working with A/B & Multivariate Testing platforms
- 8. MECHANISM //
Advanced Custom Fields
• Advanced Custom Fields (ACF)
by Elliot Condon
• No, I'm not paid to endorse him
• What it is…demo time!
- 9. MECHANISM //
Advanced Custom Fields
Basic Fields
• Text
• Content Editor
• Numbers
• Selectors:
– Dropdowns,
– Checkboxes,
– Radio Buttons, etc.
- 11. MECHANISM //
Advanced Custom Fields
• JSON storage of fields definitions
• Source Control Management e.g. Git, Subversion, etc.
• Field Groups stored in Database
• Edit Page, Post, etc. rendered from JSON
• Demo!
- 12. POST-META //
Where this new content is stored
WP Post ::
e.g. Page, Post, CPT, etc.
Post ID 1234
Title 7 Things You Should...
Name/Slug 7-things-you-should-...
Author Joe Bloggs
Content "It's amazing how
people..."
Date Created 01-04-2017
Post Type post
⋮
WP Post Meta
e.g. Subheading, Event Date, etc.
Meta ID 5678
Post ID 1234
Key subtitle
Value Number 2 will…
WP Post Meta
e.g. Subheading, Event Date, etc.
Meta ID 5678
Post ID 1234
Key subtitle
Value Number 2 will…
WP Post Meta
e.g. Subheading, Event Date, etc.
Meta ID 5678
Post ID 1234
Key subtitle
Value Number 2 will…
WP Post Meta
e.g. Subheading, Event Date, etc.
Meta ID 5678
Post ID 1234
Key subtitle
Value Number 2 will…
- 13. GRID LAYOUT //
CSS Frameworks
• CSS Frameworks are a great to get a Grid Layout quickly
• Bootstrap & Zurb Foundation are the main examples.
- 19. MECHANISM //
Behind the scenes
• First let's take a look at how our Layouts
are stored in the Database
(Login into PhpMyAdmin and look at some content)
- 21. PITFALLS //
Lots of learnings
What are the issues
• Performance :: Front-end
– Page Caching
• Performance :: Backend
– Use collapsible Sections
– Don't load Content Editors until clicked
• Searching meta-data
– Third-party ACF Add-ons
- 22. CONCLUSION
WHY YOU SHOULD
• Don't have a Developer
spending time building 100s of
pages
• Save time
WHY YOU SHOULDN'T
• Maybe it's okay to have a
Developer building 10s of pages
• Quick one-off designs
- 23. FUTURE //
Where next for bespoke Page Builders
• Storing these pages as WP Content in HTML or JSON format
• Leverage other Page Builders with Widgets