victorhugobatista / wp-eruptor
Extend your single pages like lava in the water with less setup
0.3.0-beta
2018-11-18 14:15 UTC
Requires
- brain/cortex: ~1.0.0
This package is auto-updated.
Last update: 2025-01-19 10:20:39 UTC
README
Extend your single pages like lava in the water with less setup
Simple usage
Add the lib by composer with the command below:
composer require victorhugobatista/wp-eruptor
Add the code below to your functions. Where the template files will be loaded by default at active-theme-dir/single-page-children.
use victorhugobatista\WpEruptor\Eruptor; Eruptor::initialize();
You can pass the root directory where the templates will be loaded as the example below:
use victorhugobatista\WpEruptor\Eruptor; $themePath = get_template_directory(); $templateToInclude = "{$themePath}/my-custom-template-dir"; Eruptor::initialize($templateToInclude);
Template files
The file structure to place the templates must be like below:
- Template root directory (by now, the template folder must be placed here)
- single-page-children (by now, this name can't be changed)
- single-book (this represents the name of template file of single pages, in case single-book.php)
- child-a.php (/book/existing-post-name/child-a)
- child-b.php (/book/existing-post-name/child-b)
- child-c.php (/book/existing-post-name/child-c)
- single-movie
- child-d.php (/movie/existing-post-name/child-d)
- child-e.php (/movie/existing-post-name/child-e)
- child-f.php (/movie/existing-post-name/child-f)
- single-book (this represents the name of template file of single pages, in case single-book.php)
- single-page-children (by now, this name can't be changed)
The post id of parent single page will be available in the templates as:
<?php echo $pageData['post-id'] ?>
Hooks reference
Example for eruptor/data* hook:
/!\ The wildcard * can be replace with any eruptor/data filters above /!\
add_filter('eruptor/data*', function($data) { return array_merge($data, [ 'new-data' => 'new data added to template', ]); });
The new data will be available on template on $pageData array:
<?php echo $pageData['new-data'] ?>
Next steps (from @todo comments added to the code)
- To receive what post types have to be added to routes on main class.
- Add filters to allow the modification of header, content and footer by post type, post name and template name.