Priority Shortcodes

Processes specific shortcodes before wpautop() and do_shortcode()

Author:Greg Perham (profile at wordpress.org)
WordPress version required:2.5.0
WordPress version tested:6.1
Plugin version:2.0.2
Added to WordPress repository:20-09-2014
Last updated:29-10-2022
Rating, %:20
Rated by:1
Plugin URI:https://github.com/swinggraphics/Priority-Sho...
Total downloads:1 356
Active installs:10+
plugin download
Click to start download

Ever get annoyed or frustrated by the way TinyMCE+wpautop+do_shortcode wreak havoc on your shortcodes, wrapping <p>s around <div>s, leaving orphan </p>s, and all sorts of craziness? This plugin allows you to specify shortcodes to be processed before those other actions, generating the clean code you expected.

Priority Shortcodes works by adding an action to the_content and widget_text hooks with a higher priority than wpautop and do_shortcode. The result is that those other actions run your shortcode’s final output, rather than trying to guess if it should be wrapped in <p> tags, etc.

The Codex says:

wpautop recognizes shortcode syntax and will attempt not to wrap p or br tags around shortcodes that stand alone on a line by themselves. Shortcodes intended for use in this manner should ensure that the output is wrapped in an appropriate block tag such as <p> or <div>.

But sometimes shortcodes stand on their own on a line, wanting desperately to be wrapped in a paragraph tag, and sometimes they don’t. Like a shortcode that generates a <span> tag with some classes. (Yeah, you might want to use custom TinyMCE styles instead for a simple span.)

Usage

Where you want to process a shortcode with priority, use “[!” at the start. For example: [my-shortcode] becomes [!my-shortcode] and [my-shortcode]Some content.[/my-shortcode] becomes [!my-shortcode]Some content.[/my-shortcode].

Gutenberg

Users of the new WordPress editor, “Gutenberg”, will probably not use Priority Shortcodes within the new editor, but the plugin continues to work in the Classic Editor.


FAQ
ChangeLog