Page Builder<!-- --> | <!-- -->IORoot
logo
IORoot
WordPress
wordpress

Page Builder

A custom HTML page-builder For Wordpress. Built with ACF Pro.

1. Table of Contents

2. About The Project

Built upon ACF Pro, this is an alternative wordpress page-builder without all the injected extra code you have no idea the developer has deemed nessesary.

A light-weight solution that enables you to build pages the way you want to - with no constraints.

This is the base module that requires other plugins to run. For instance, the rawcode plugin will allow you to inject any code you want directly onto the page.

The beauty of it is that it allows you to create an organised foldered structure for your sections by using ACFs 'repeaters' and 'clones'.

2.1. Use-case

Built with tailwind-css and SVGs as imagery in mind, this builder was created to allow me to keep the page sizes to a minimum for good lighthouse scores.

The page builder really only does the following things:

  1. Gives you access to the other page-builder plugins to place onto the page.
  2. Add classes into the body or page. (optional)
  3. Add code into the Header
  4. Add code into the Footer
  5. Add SVGs into the Footer
  6. Import and Export JSON representation of the page.
  7. Import and Export JSON representation of the SVGs.

The import/export functionality allows you to copy & paste the page or SVG data all in one.

(back to top)

2.2. Built With

This project was built with the following frameworks, technologies and software.

(back to top)

2.3. Installation

These are the steps to get up and running with this plugin.

  1. Clone the repo into your wordpress plugin folder
    git clone https://github.com/IORoot/wp-plugin__page-builder ./wp-content/plugins/page-builder
    
  2. Activate the plugin.

Note: This plugin WILL disable the normal WYSIWYG builder you would normally see.

2.3.1. Theme Header

Your theme will need to include the following code into the header, below the wp_head(); function.

<?php 
    wp_head(); 
    do_action('page_builder_header_code'); 
?>

This is so the plugin can inject any code you specify (CSS / Stylesheets) into the header.

Similarly, the theme footer will require the following code, just ABOVE the wo__footer(); function.

<?php 
    do_action('page_builder_footer_code'); 
    wp_footer(); 
?>

This is for any SVGs to reference or Javascript to inject.

(back to top)

3. Usage

The page-builder on it's own will not do anything other than turn off the default page builder, setup some hooks and initialise the import/export functionality.

The idea is that all functionality is plug-and-playable. Therefore you need to install any of the other page-builder plugins that extend it's ability.

Currently, there are the following plugins:

LondonParkour.com was built using these plugins for page-builder.

4. Customising

None.

5. Troubleshooting

None.

(back to top)

6. Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue. Don't forget to give the project a star! Thanks again!

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

(back to top)

7. License

Distributed under the MIT License.

MIT License

Copyright (c) 2022 Andy Pearson

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

(back to top)

8. Contact

Author Link: https://github.com/IORoot

(back to top)

9. Changelog

v1.0.0 - Initial.