[wp-hackers] Shortcodes and formatting
Christian Holtje
docwhat at gmail.com
Wed Apr 2 20:09:31 GMT 2008
On Apr 1, 2008, at 7:11 PM, Mark Jaquith wrote:
> On Apr 1, 2008, at 3:37 PM, Andy Skelton wrote:
>> On Tue, Apr 1, 2008 at 2:33 PM, Mark Jaquith
>> <mark.wordpress at txfx.net> wrote:
>>> How would we know which plugin adds which tag? i.e. how do we
>>> automatically queue up the deactivation hook to remove the tag?
>>
>> We don't. The plugin would have to call this on its own deactivation.
>
> But then some plugins will clean up their shortcodes when they're
> gone, and others won't.
>
> <!--[shortcode]--> would have been nice, because it is self-
> cleaning. But it's probably too late to change it. So let's not
> cry over spilled milk.
>
> Here's my idea:
>
> We keep an array of added shortcodes in the options table:
> installed_shortcodes. add_shortcode() will check this array, and
> update it as necessary (first time a shortcode plugin is run, for
> example). But it will also keep an array of shortcodes in memory.
>
> in do_shortcodes(), we compare the option with the in-memory list of
> shortcodes. If a plugin is deactivated, it'll be in the
> "installed_shortcodes" option, but *not* in the in-memory array. We
> can then easily strip out these shortcodes from the content.
>
> Sidenote: we'd need to strip <p>\[$shortcode( .*?\]|\])</p> out, for
> shortcodes entered on their own line.
And you'll be able to show on a page what shortcodes once were used
but are no longer and include some management functions like:
* null out shortcodes
* place shortcodes in comments (so they can be found again and
reactivated on a case by case basis)
* Upgrade shortcodes from one version to another or even to a new
plugin.
Maybe the name of the plugin that defined them, so that plugin foo
won't accidentally start using plugin bar's frotz shortcode?
Ciao!
More information about the wp-hackers
mailing list