Dynamic Template Parts
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: 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. Edit the Single Posts Template: Navigate to the Single Posts template and select the Header Template Part, and view the block sidebar. Enable the Dynamic Template Part Option: In the Template Part attributes panel, enable the Dynamic Template Part setting. 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). 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. Select the Alternative Header Template Part: Choose the alternative Header Template Part you created to replace the default header in this specific post. Save and Preview the Post: Save your changes and preview the post to verify that the alternative header is displayed correctly. 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 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.
Top keywords
- template46×6.46%
- part26×3.65%
- template part23×3.23%
- parts21×2.95%
- template parts20×2.81%
- dynamic11×1.54%
- header11×1.54%
- dynamic template10×1.40%
- default8×1.12%
- posts8×1.12%
- deselected7×0.98%
- post7×0.98%
Lightweight Accordion
Lightweight Accordion plugin for WordPress allows you to add collapse elements to posts using a Gutenberg block or a shortcode (via classic editor). By using the details HTML tag and a few lines of CSS this allows for a javascript-free accordion for minimum page load. Extremely Lightweight (<1kb): Without using Javascript the plugin uses the native details HTML tag and a few lines of code for almost no impact on front-end. Customizable: Options include customizing the HTML tag used for the accordion title, open by default, borders, colors, and accordion grouping (auto-close others when one opens). Shortcode Usage examples Here are a few examples of using the accordion plugin with shortcodes. [lightweight-accordion title="My Accordion"]My Content[/lightweight-accordion] Additionally you can display the accordion open on load with the accordion_open option. [lightweight-accordion title="My Accordion" accordion_open=true]My Content[/lightweight-accordion] You can also change the html tag wrapping the title of the accordion using the title_tag option. [lightweight-accordion title="My Accordion" title_tag="h3"]My Content[/lightweight-accordion] If you want to include FAQ schema you can add the schema option and set it to faq. [lightweight-accordion title="What is your return policy?" schema="faq"]You have 1 week to return your items[/lightweight-accordion] If you’d like put a border around the content of the accordion you can use the “bordered” attribute. [lightweight-accordion title="Bordered Content" bordered=true]My Content[/lightweight-accordion] If you want accordions to auto-close when another opens (exclusive accordion), use the “group” attribute with the same value on each accordion. [lightweight-accordion title="Question 1" group="faq"]Answer 1[/lightweight-accordion] [lightweight-accordion title="Question 2" group="faq"]Answer 2[/lightweight-accordion] [lightweight-accordion title="Question 3" group="faq"]Answer 3[/lightweight-accordion] If you’d like to swap the default triangle marker for a chevron or plus/minus icon (optionally on the right side of the title) use the “icon” and “icon_position” attributes. [lightweight-accordion title="My Accordion" icon="chevron" icon_position="right"]My Content[/lightweight-accordion] Shortcode Options Here is the full listing of shortcode options. Additionally all of these options are accessible when using the Gutenberg block. title (Required Default: null) The title of your accordion will be displayed at the top for users to click. A good example would be to include a user’s question so they could click it for more details. content (Required Default: null) Content that will go into your accordion element. title_tag (Default: “span”) This sets the html tag that wraps the title in the accordion summary. Useful if you want to make it a heading tag for SEO purposes. accordion_open (Default: false) Set this to true if you want your accordion to be open by default. bordered (Default: false) Set this to true if you want a border around the accordion content. title_text_color (Default: false) Set this to a hex value or CSS color to change the color of the accordion title text. title_background_color (Default: false) Set this to a hex value or CSS color to change the color of the accordion title text. schema (Default: false) Set this to faq if you’d like FAQ schema to be included. class (Default: false) Used to add a custom class to the parent container of the accordion. anchor (Default: null) Adds the value as an ID to the accordion div as an anchor. autop (Default: true) By default the shortcode will wrap text in a ‘p’ tag. Set this to false if you’d like this disabled for the specific accordion. group (Default: false) Set this to a group name to make accordions with the same group auto-close when another opens. Uses the native HTML details name attribute for zero JavaScript overhead. icon (Default: false) Set this to “chevron”, “plus”, or “none” to replace the default triangle marker. The chevron rotates and the plus becomes a minus when the accordion opens. icon_position (Default: false) Set this to “right” to display the chevron or plus icon on the right side of the accordion title. Additional Details If you’d like to remove the “lightweight-accordion.css” from being enqueued on your site use the filter below. It’s recommend you style the accordion yourself if you use this filter. add_filter('lightweight_accordion_include_frontend_stylesheet', '__return_false' ); If you’d like to remove the “lightweight-accordion/editor-styles.css” from being enqueued in the admin area of your site you can use the filter below. add_filter('lightweight_accordion_include_admin_stylesheet', '__return_false' ); If you’d like to remove processing of shortcodes in accordion content you can use this filter. add_filter('lightweight_accordion_process_shortcodes', '__return_false' ); If you’d like to use inline Microdata for FAQ schema you can use this filter. (Not recommended) add_filter('lightweight_accordion_output_microdata', '__return_true' ); If you’d like to force “lightweight-accordion.css” to load on all of your site you can use this filter. By default the plugin will detect if the block or shortcode is used and enqueue the CSS. add_filter('lightweight_accordion_always_include_frontend_stylesheet', '__return_true' ); When a page contains an accordion a tiny inline script is added to the footer that automatically opens accordions targeted by a URL hash (for example a link to an accordion’s anchor). If you’d like to disable this you can use the filter below. add_filter('lightweight_accordion_anchor_script', '__return_false' );