Title: Flex Shortcodes
Author: Flex Plugins
Published: <strong>August 18, 2026</strong>
Last modified: August 18, 2026

---

Search plugins

![](https://ps.w.org/flex-shortcodes/assets/banner-772x250.png?rev=3652848)

![](https://ps.w.org/flex-shortcodes/assets/icon-256x256.png?rev=3652848)

# Flex Shortcodes

 By [Flex Plugins](https://profiles.wordpress.org/flexfields/)

[Download](https://downloads.wordpress.org/plugin/flex-shortcodes.1.0.1.zip)

 * [Details](https://wordpress.org/plugins/flex-shortcodes/#description)
 * [Reviews](https://wordpress.org/plugins/flex-shortcodes/#reviews)
 *  [Installation](https://wordpress.org/plugins/flex-shortcodes/#installation)
 * [Development](https://wordpress.org/plugins/flex-shortcodes/#developers)

 [Support](https://wordpress.org/support/plugin/flex-shortcodes/)

## Description

**Flex Shortcodes** stores HTML once and reuses it in posts, pages, widgets, and
templates. Each snippet is a private WordPress post. Only published snippets print
on the front end. PHP is never executed.

 * Insert by slug: `[flexshortcodes name="promo-banner"]` or by ID: `[flexshortcodes
   id="123"]`
 * **Flex Shortcode** block in the block editor, and a **Flex Shortcode** button
   in the classic editor
 * Optional parameters: `[flexshortcodes name="button" label="Buy"]` fills `{{label}}`
   in the HTML
 * Groups to organize the admin list (they do not change front-end output)
 * Duplicate a snippet, and find usages in posts, pages, and text widgets
 * JSON import and export (groups included)
 * Nested WordPress shortcodes, including other `[flexshortcodes]` tags, with circular
   includes blocked
 * Optional wrapper (`div` or `span`); off by default so snippets can be used inline
 * One-click copy from the list table and the editor sidebar
 * HTML-only editor so TinyMCE does not rewrite markup
 * Clean uninstall removes settings, snippet posts, and groups

No remote calls. CSS and JavaScript load from this plugin only.

#### Content rules

 * Saved HTML follows your WordPress capabilities (`unfiltered_html` for trusted
   roles)
 * Front-end output is sanitized with `wp_kses_post()` (post-allowed HTML only)
 * PHP is never executed
 * Missing or unpublished shortcodes output nothing on the front end
 * Parameter values are HTML-escaped; `name` and `id` are reserved for lookup

#### Privacy

Flex Shortcodes stores shortcode titles, HTML, and optional group names in your 
WordPress database as custom posts and a private taxonomy. It does not send data
to external servers and does not load third-party services.

## Screenshots

[⌊All Shortcodes — list, groups, copyable tags, import/export⌉⌊All Shortcodes — 
list, groups, copyable tags, import/export⌉[

All Shortcodes — list, groups, copyable tags, import/export

[⌊Editor — HTML code editor, Groups, and Shortcode meta box⌉⌊Editor — HTML code 
editor, Groups, and Shortcode meta box⌉[

Editor — HTML code editor, Groups, and Shortcode meta box

[⌊Settings — optional output wrapper⌉⌊Settings — optional output wrapper⌉[

Settings — optional output wrapper

[⌊Usage — in-plugin guide⌉⌊Usage — in-plugin guide⌉[

Usage — in-plugin guide

## Blocks

This plugin provides 1 block.

 *   Flex Shortcode

## Installation

 1. Upload the `flex-shortcodes` folder to `/wp-content/plugins/`, or install the zip
    via **Plugins  Add New  Upload Plugin**.
 2. Activate **Flex Shortcodes**.
 3. Go to **Flex Shortcodes  All Shortcodes**, click **Add Shortcode**, paste HTML,
    and publish.
 4. Insert with the Flex Shortcode block, the classic **Flex Shortcode** button, or
    by pasting `[flexshortcodes name="your-slug"]`.

## FAQ

### How do I insert a shortcode?

Use `[flexshortcodes name="slug"]` where `slug` is the permalink slug, not the display
title. The slug is created from the title on first save; editing the title later
does not change it. You can also use `[flexshortcodes id="123"]`, the Flex Shortcode
block, or the classic editor button.

### Can I pass parameters?

Yes. Put `{{label}}` (or another key) in the snippet HTML, then insert `[flexshortcodes
name="button" label="Buy"]`. Keys start with a letter. `name` and `id` are reserved.
Missing values print as empty strings. The block picker does not pass extra attributes;
paste a tag when you need parameters.

### What are groups?

Admin labels for filtering the list. Assign them in the snippet editor. Manage names
under **Flex Shortcodes  Groups** if you can manage categories. Groups do not wrap
or hide output on the site.

### Can I nest shortcodes?

Yes. Snippet HTML runs through `do_shortcode()`, so other WordPress shortcodes (
including other `[flexshortcodes]` tags) work. Circular nesting is blocked. Nested
snippets need their own attributes.

### Does this run PHP in shortcodes?

No. PHP is never executed. Only HTML, placeholders, and nested shortcodes are rendered.

### How do import and export work?

Export downloads JSON of the snippets you can see (not trash). Import creates new
snippets; it does not overwrite. Maximum 2 MB and 500 items per file.

### What happens when I uninstall?

All Flex Shortcodes settings, `flex_sc` posts (including trash, auto-drafts, and
revisions), and Groups terms are deleted. Deactivating alone does not delete data.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“Flex Shortcodes” is open source software. The following people have contributed
to this plugin.

Contributors

 *   [ Flex Plugins ](https://profiles.wordpress.org/flexfields/)
 *   [ Flex Dev ](https://profiles.wordpress.org/hovoqoch/)

[Translate “Flex Shortcodes” into your language.](https://translate.wordpress.org/projects/wp-plugins/flex-shortcodes)

### Interested in development?

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

## Changelog

#### 1.0.1

 * About FLEX links the full plugin suite on WordPress.org.
 * List flexfields and hovoqoch as contributors.

#### 1.0.0

 * Initial release: `[flexshortcodes]` by slug or ID, HTML editor, parameters, groups,
   inserter, duplicate, usages, JSON import/export.
 * Display name and slug are Flex Shortcodes / flex-shortcodes (WordPress shortcodes;
   not related to any third-party “Shortcoder” product).
 * PHP functions, options, hooks, and the shortcode tag use the `flexshortcodes`
   prefix.
 * Front-end output is sanitized with `wp_kses_post()`.

## Meta

 *  Version **1.0.1**
 *  Last updated **21 hours ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 6.2 or higher **
 *  Tested up to **7.0.4**
 *  PHP version ** 7.4 or higher **
 * Tags
 * [content](https://wordpress.org/plugins/tags/content/)[html](https://wordpress.org/plugins/tags/html/)
   [reusable content](https://wordpress.org/plugins/tags/reusable-content/)[shortcode](https://wordpress.org/plugins/tags/shortcode/)
   [snippet](https://wordpress.org/plugins/tags/snippet/)
 *  [Advanced View](https://wordpress.org/plugins/flex-shortcodes/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/flex-shortcodes/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/flex-shortcodes/reviews/)

## Contributors

 *   [ Flex Plugins ](https://profiles.wordpress.org/flexfields/)
 *   [ Flex Dev ](https://profiles.wordpress.org/hovoqoch/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/flex-shortcodes/)