Custom Page Templates plugin brings ultimate freedom for customers to customize their websites. Over just short period of time the plugin received many positive feedbacks and was able to impressed people with unique features and methods for organizing and managing website.
Evidently, customers value the most an ability to achieve what they want. While, themes offers many ways representing a content, usually customers want to it yet differently. It's nearly impossible for theme developers to deliver layouts for all cases. Custom Page Templates plugin allows customers to create their own custom layouts with Visual Composer (WPBakery Page builder) right from WP Admin panel, without a need of dealing with files and HTML/PHP code.
Yet another important aspect is that customers utilize different plugins, which bring own functionality and data. Often there is no bridge between plugins' shortcodes and theme's data as well as theme's shortcode and plugins' data. Dynamic Shortcode Values component in Custom Page Templates plugin allows creating this bridge and bring a way more flexibility to layout creation and shortcodes functionality.
Custom Page Templates plugin comes with the basic and common functionality and works with almost any theme out of the box. However, theme developers can improve this experience even further by integrating own theme features with the plugin and offering more theme alike templates.
There are just 2 important areas where theme developers should most likely focus on:
- Template files
- Dynamic Values
Template files are just like regular page template files, but used for processing custom page templates. Depends on how theme is organized, the amount of template files that need to be created varies from 1 to any. Read more about template files.
Dynamic Values allow to replace shortcode's attribute, the whole shortcode itself or some text placeholder in its attributes or content with a replacement value derived from custom functions. The plugin has support for common cases like retrieving post title, id, content, featured image id, term id, user id, custom meta, common templates, etc. as well as values created with Advanced Custom Fields plugin and WooCommerce.
Since theme usually brings own custom post or term meta values, theme settings, then there is most likely a need to extend Dynamic Values component with those theme specific options. Read more about extending Dynamic Shortcode Values.
The plugin typifies all standard request by out of the box, allowing developers creating default template files for each request type if needed. If there is a need to identify non-standard pages, it is possible to define own request types and it would be possible to create default template file for it as well as choose them under template rules. You can read more about request types in this article.