Title: Dynamic Template Parts
Author: Matt Watson
Published: <strong>දෙසැම්බර් 3, 2024</strong>
Last modified: දෙසැම්බර් 3, 2024

---

Search plugins

![](https://ps.w.org/dynamic-template-parts/assets/banner-772x250.png?rev=3201925)

![](https://ps.w.org/dynamic-template-parts/assets/icon-256x256.png?rev=3201925)

# Dynamic Template Parts

 By [Matt Watson](https://profiles.wordpress.org/mattwatsoncodes/)

[Download](https://downloads.wordpress.org/plugin/dynamic-template-parts.1.0.0.zip)

 * [Details](https://si.wordpress.org/plugins/dynamic-template-parts/#description)
 * [Reviews](https://si.wordpress.org/plugins/dynamic-template-parts/#reviews)
 *  [Installation](https://si.wordpress.org/plugins/dynamic-template-parts/#installation)
 * [Development](https://si.wordpress.org/plugins/dynamic-template-parts/#developers)

 [Support](https://wordpress.org/support/plugin/dynamic-template-parts/)

## Description

**Transform the way you manage templates on your WordPress site with Dynamic Template
Parts.** This powerful plugin extends the Full Site Editor, letting you swap headers,
footers, and other Template Parts dynamically based on the content you’re editing—
say goodbye to managing multiple templates for every layout variation.

With Dynamic Template Parts, you gain the freedom to swap Template Parts directly
within the block editor, whether it’s for posts, pages, or custom post types. The
user-friendly interface allows you to preview changes in real-time, giving you complete
control over the look and feel of each piece of content without needing custom code.

**Key Features:**

 * **Dynamic Template Part Swapping:** Replace headers, footers, sidebars, or any
   template part within the block editor.
 * **Flexible Swapping Options:** Define whether to swap within the same type, any
   type, or curated parts.
 * **Template Part Previews:** Preview Template Parts before selecting, ensuring
   your content looks perfect.
 * **Supports All Content Types:** Works with posts, pages, and custom post types.
 * **User-Friendly Interface:** Simple setup—no coding required.”

**Get Started:**

To implement an alternative Header Template Part using the Full Site Editor, please
follow the example workflow below:

 1. **Create an Alternative Header Template Part:** Design and save a new Header Template
    Part within the Full Site Editor to serve as an alternative to your default header.
 2. **Edit the Single Posts Template:** Navigate to the Single Posts template and select
    the Header Template Part, and view the block sidebar.
 3. **Enable the Dynamic Template Part Option:** In the Template Part attributes panel,
    enable the Dynamic Template Part setting.
 4. **Configure Swapping Preferences (Optional):** Adjust your swapping preferences
    according to your requirements (choose to swap your Template Part with differnt
    Template Part types, or use a curated list of Template Parts).
 5. **Edit a Post and Access the Dynamic Template Part Sidebar:** Open a post for editing
    and select the Dynamic Template Part sidebar from the editor interface.
 6. **Select the Alternative Header Template Part:** Choose the alternative Header 
    Template Part you created to replace the default header in this specific post.
 7. **Save and Preview the Post:** Save your changes and preview the post to verify
    that the alternative header is displayed correctly.
 8. **Confirm Default Header on Other Posts:** Ensure that all other posts without 
    specific configurations continue to display the default header as intended.

Unlock the power of dynamic templating and take control of your site’s design like
never before!

### Hooks and Filters

Dynamic Template Parts provides filters to allow developers to customise its behaviour.
Below are the available filters and how to use them.

#### Show Deselected Template Part

The `dynamic_template_parts_show_deselected_template_part` filter lets you control
whether a previously selected template part that is no longer available for selection
should still be displayed. By default, the plugin keeps the part visible to avoid
unintended changes, but you can override this to automatically remove unavailable
template parts.

**Example:**

If you want to ensure that unavailable template parts are removed and replaced with
the default template part, you can use the following code:

    ```
    add_filter( 'dynamic_template_parts_show_deselected_template_part', function( $show_deselected, $template_parts, $selected_part ) {
        // Always hide deselected template parts and fall back to the default.
        return false;
    }, 10, 3 );
    ```

**Parameters:**

 * `$show_deselected` (bool): Whether to show the deselected template part. Defaults
   to `true`.
 * `$template_parts` (array): The list of available template parts.
 * `$selected_part` (string): The currently selected template part.

#### User Permissions

The `dynamic_template_parts_user_can_switch` filter lets you customise which users
are allowed to switch template parts. By default, any user with the `edit_posts`
capability can access this functionality, but you can restrict it to specific roles
or capabilities.

**Example:**

If you want to restrict template part switching to administrators only, you can 
use the following code:

    ```
    add_filter( 'dynamic_template_parts_user_can_switch', function( $can_switch ) {
        // Allow only administrators to switch template parts.
        return current_user_can( 'manage_options' );
    } );
    ```

**Parameters:**

 * `$can_switch` (bool): Whether the current user has permission to switch template
   parts. Defaults to checking the `edit_posts` capability.

### Roadmap

 1. **Support for additional content types:** Support additional content types such
    as authors, terms and archive pages.

### Requirements

 * WordPress version 5.8 or higher.
 * PHP version 7.4 or higher.

### Known Issues

See the Roadmap section for known issues.

## Screenshots

 * [[
 * **Use alternative Template Parts:** Use the Full Site Editor to define your alternative
   template parts.
 * [[
 * **Select a Template Part in the Template Editor:** Navigate to the Template Editor
   and select a Template Part you wish to edit.
 * [[
 * **Enable the Dynamic Template Part Option:** In the Template Part attributes 
   panel, enable the Dynamic Template Part setting.
 * [[
 * **Choose Swapping Preferences:** Configure your swapping preferences by selecting
   whether to swap with the same type, any type, or curated Template Parts.
 * [[
 * **Edit a Post and Access the Dynamic Template Part Sidebar:** While editing a
   post, open the Dynamic Template Part sidebar from the editor interface.
 * [[
 * **View Available Template Parts with Previews, and Select an Alternative Template
   Part:** Browse through the available Template Parts, complete with live previews
   to assist in your selection. Choose the alternative Template Part you wish to
   substitute in place of the default.
 * [[
 * **Save and View the Post with Swapped Template Parts:** Save your changes and
   preview the post to see your customised Template Parts in action.

## Installation

This section describes how to install the plugin and get it working.

 1. Upload the plugin folder to the `/wp-content/plugins/` directory, or install the
    plugin through the WordPress plugins screen directly.
 2. Activate the plugin through the ‘Plugins’ screen in WordPress.

## FAQ

### How do I enable dynamic Template Parts?

In the template editor, select a Template Part and enable the ‘Dynamic Template 
Part’ option in its attributes. Choose your swapping options and save the template.

### Can I limit which Template Parts can be swapped?

Yes! You can curate specific Template Parts that can be swapped. When enabling the‘
Dynamic Template Part’ option, select the Template Parts you want to make available
for swapping.

### Does this plugin work with custom post types?

Absolutely. Dynamic Template Parts works with posts, pages, and any custom post 
types you have.

### Can I swap Template Parts of different types?

Yes, you have the option to allow swapping with Template Parts of the same type (
Header, Footer, Generic), any type, or a curated list of parts from different types.

### How are user permissions managed?

See the User Permissions section for information on how you can alter the template
swapping permissions.

### What happens if I deactivate the plugin?

If you deactivate the plugin, your content will revert to using the default template
parts defined in your theme. Your content remains safe, and you can reactivate the
plugin anytime to restore dynamic functionality.

### Is this plugin compatible with my theme?

Dynamic Template Parts is designed to work with any Full Site Editing (FSE) theme
that utilizes block templates and template parts. It enhances the existing functionality
of FSE themes without requiring theme modifications.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“Dynamic Template Parts” is open source software. The following people have contributed
to this plugin.

Contributors

 *   [ Matt Watson ](https://profiles.wordpress.org/mattwatsoncodes/)

[Translate “Dynamic Template Parts” into your language.](https://translate.wordpress.org/projects/wp-plugins/dynamic-template-parts)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/dynamic-template-parts/),
check out the [SVN repository](https://plugins.svn.wordpress.org/dynamic-template-parts/),
or subscribe to the [development log](https://plugins.trac.wordpress.org/log/dynamic-template-parts/)
by [RSS](https://plugins.trac.wordpress.org/log/dynamic-template-parts/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 1.0.0

 * Initial Release

#### 1.0.0

 * Initial Release

#### 1.0.0

 * Initial Release

## Meta

 *  Version **1.0.0**
 *  Last updated **1 වසරක් ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 5.8 or higher **
 *  Tested up to **6.7.5**
 *  PHP version ** 7.4 or higher **
 *  Language
 * [English (US)](https://wordpress.org/plugins/dynamic-template-parts/)
 * Tags
 * [block](https://si.wordpress.org/plugins/tags/block/)[custom templates](https://si.wordpress.org/plugins/tags/custom-templates/)
   [editor](https://si.wordpress.org/plugins/tags/editor/)[switcher](https://si.wordpress.org/plugins/tags/switcher/)
   [template](https://si.wordpress.org/plugins/tags/template/)
 *  [Advanced View](https://si.wordpress.org/plugins/dynamic-template-parts/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/dynamic-template-parts/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/dynamic-template-parts/reviews/)

## Contributors

 *   [ Matt Watson ](https://profiles.wordpress.org/mattwatsoncodes/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/dynamic-template-parts/)

## Donate

Would you like to support the advancement of this plugin?

 [ Donate to this plugin ](https://buymeacoffee.com/mattwatsoncodes)