When my current company (Ads Next / Dental Revenue) needed a landing page tool that would be compatible with our WordPress themes (they don’t support popular drag and drop page builder plugins) and also allow all the content and design elements to be edited from the WP admin panel, I built a custom solution from scratch.
The product consists of a WordPress page template and set of template partials, along with a set of custom meta fields constructed using the CMB2 plugin.
A landing page deployed using this system has its own header and footer, as well as customizable, repeatable content fields divided into sections that can be reordered, updated, and deleted.
The design is a simple, fully responsive landing page layout using UX/UI best practices for providing clear calls to action, which for our clients means scheduling an appointment via phone or contact form.
I wrote the PHP, HTML, and CSS from scratch, and then added the capability to include template partials from the main theme if desired.
One powerful approach I’ve found for including user stying customizations as settings in the WordPress admin interface use PHP on the server side to construct CSS conditionally (if a meta field is not null, for example), or use PHP to construct JavaScript on the server side, which then modifies the document as needed when the page renders.
It’s straightforward to use repeatable custom field “groups” via the CMB2 plugin, and then iterate over them to include the template partials required for each and build the page. This allows users to add, delete, and re-order the sections however they want since each field is stored in an array that is ordered the same way the sections are ordered visually in the Admin panel.
Landing pages built using this tool are live on more than 20 sites so far.