This plugin allows you to refer to a WordPress shortcode within the content of posts and pages without that shortcode being automagically expanded by WordPress. The plugin takes advantage of the fact that the WordPress ShortCode API does not support nested shortcodes to allow this plugin’s shortcode to wrap the shortcode being documented.
The shortcode parser uses a single pass on the post content. This means that if
the $content parameter of a shortcode handler contains another shortcode, it won’t
The plugin supports both the self closing
[shortcode] and enclosing
[shortcode]content[/shortcode] forms and supports a short form name of the shortcode,
[wp_scs] as well as the more verbose
[wp_shortcode_shield] form. For the sake of brevity, the remainder of this documentation will use the
[wp_scs] short form name.
If using the self-closing form of the shortcode, you need to supply the name of the shortcode you are documenting using the
code attribute but without using the enclosing
] characters. This is because when parsing shortcodes, WordPress looks for the first occurrence of the ‘]’ character to terminate the shortcode. As a result of this, usage such as
… WordPress will use the ‘]’ character inside the
code attribute to try and terminate the shortcode name, which is not what is desired. Instead, the plugin automagically adds the terminating ‘[‘ and ‘]’ characters to the plugin’s output, so that usage such as
… will display [another-shortcode-name] in your post’s of page’s content.
If you are using the enclosing form of the shortcode, you can either supply the shortcode to be documented with or without enclosing ‘[‘ and ‘]’ characters; if they are omitted, the plugin will add them for you, so that usage such as
… will display the same results, namely [another-shortcode-name].
Finally a note of caution, you cannot mix the enclosing and self closing form of the plugin’s shortcode within the same post or page; this is not a limitation of the plugin, but the way in which WordPress implements the ShortCode API …
The parser does not handle mixing of enclosing and non-enclosing forms of the same
shortcode as you would want it to. For example, if you have:
[myshortcode example='non-enclosing' /] non-enclosed content [myshortcode] enclosed content
Instead of being treated as two shortcodes separated by the text ” non-enclosed content “,
the parser treats this as a single shortcode enclosing ” non-enclosed content [myshortcode]
- How do I get help or support for this plugin?
In short, very easily. But before you read any further, take a look at Asking For WordPress Plugin Help And Support Without Tears before firing off a question. In order of preference, you can ask a question on the WordPress support forum; this is by far the best way so that other users can follow the conversation. You can ask me a question on Twitter; I’m @vicchi. Or you can drop me an email instead. I can’t promise to answer your question but I do promise to answer and do my best to help.
- Is there a web site for this plugin?
- I want to amend/hack/augment this plugin; can I do this?
Totally; this plugin is licensed under the GNU General Public License v2 (GPLV2). See http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt for the full license terms.
The current version is 1.1.0 (2012.11.12)
- Released 2012.11.12
- Other: Upgraded plugin to new version of WP_PluginBase to prevent class name clashes during future upgrades.
- Other: Ensure WP_ShortCodeShield is not already defined and instantiate as a singleton.
- Other: Rename misleading plugin constants (they’re square brackets not angle brackets)
- Released 2012.08.29
- Fixed: Ensure WP_PluginBase is properly included and defined.
- Released 2012.07.17
- This is the first version of WP Shortcode Shield.