[wp-hackers] Streamlining Includes
ryan at boren.nu
Mon Mar 3 05:35:44 GMT 2008
On Sun, Mar 2, 2008 at 6:18 PM, Aaron Harun <admin at anthologyoi.com> wrote:
> The major problem I see is that for blogs with a lot of plugins,
> everything would be defined anyway because all activated plugins would
> still be loaded by default, so the only time this would have any real
> benefit is when just code that is rarely used by the core as well as
> plugins is removed.
Not everyone uses a bunch of plugins. I use only one.
> Even if each plugin only included what it needed, the entirety of the
> core would be included because on or another plugin would have needed
> it regardless of whether the plugin is actually useful. (For example,
> an Admin panel add-on is included no matter what page you are on.)
Plugins shouldn't load their admin code in a non-admin context.
> Part of optimizing the core may require that plugins "announce" what
> they do, so WordPress knows how to respond: when plugins are
> activated, they should define their functionality to WordPress. This
> could be as simple as adding a list of functionality in the header of
> each file that WordPress can store as part of the plugin data.
> That AJAX plugin might have "Functions: posts, comments" while the
> Simple Tags plugin might use "Functions: tagging, admin."
That's pretty much what I'm proposing. Define groups of
functionality, such as 'edit-posts', and the necessary files are
included. Plugins already have a way of knowing if they are in an
admin context. if (is_admin())
require_once('my-admin-functions.php'). Plugins should take care of
organizing their includes so that only the necessary stuff is loaded
for a given context.
More information about the wp-hackers