An extension extends or overrides the structure and/or style of a child theme. This is done via functions.php (to alter the structure) and style.css (to alter the style). An extension is nothing but a directory which typically has functions.php (optional), style.css plus optionally a corresponding images directory.
By default, Builder ships with 6 extensions which are meant for displaying listing of entries like Posts page or a category page or a archive. The default extensions reside in extensions directory under parent Builder directory. If you would like to make any changes to the extension files, copy the extension directory from parent Builder into child theme under a directory named extensions.
An extension is applied to either a layout or a view.
For the sake of documentation, let us consider this site: http://localhost/builder3/
There is a category in this site named Issues and the URL of this category page is http://localhost/builder3/category/issues/
The reason why this category page is not using the default layout (Right Sidebar in this example) is because a view is present that associates Archives view with Full Width layout by default in Builder.
Featured Image Grid & Showcase
To apply Featured Image Grid & Showcase extension to Issues category page, we should add a view like so:
Screenshot of the category page on site:
- The images that appear on the page are featured images added in the posts.
- Another post should also appear on the page but isn't. This is currently a bug and shall be fixed soon.
Featured Image Slider
Displays Featured Image & Post Title of first 6 posts in a custom slider and the Featured Image, Post Title & Excerpt for the remaining posts.
Page Not Found message appears below the slider because there are only 3 posts. If we add 1 more,
- It is not possible to override the parent or child theme's template files like index.php, archive.php, single.php, page.php. If any such files are present in an extension, they will simply be ignored.
- When an extension has functions.php, it will be executed (for the page using that extension) after the theme's functions.php has been executed.