When WordPress installs a plugin, where does it keep the fact of a hook/plugins existence? For example, wp-includes/plugin.php

I can see do_action, but I'm not familiar enough to know how WP loads its plugins. Does it have the hook name in the database along with the new plugged in hook name? I looked in wp_options, but did not anything.


WordPress stores the currently active plugins in the options table under the key active_plugins.

Hooked actions and filters aren't stored anywhere, plugins must add their hooks on every request, otherwise they don't exist.

  • I didn't put that I saw active_plugins, sorry. But what I didn't know is that all the plugins are called with each request. Doesn't that make things very slow?
    – johnny
    Apr 28 '14 at 16:50
  • well sure, there is some overhead to including files, but slower than what alternative exactly? it ultimately depends on what the plugin does. there are other methods to get far greater performance gains than worrying about a few hundredths of a millisecond here and there.
    – Milo
    Apr 28 '14 at 16:58
  • I guess you have to store the information somewhere, db, xml file, or whatever.
    – johnny
    Apr 28 '14 at 16:59
  • Is registering a hook or plugin the same as adding a callback?
    – johnny
    Apr 28 '14 at 17:22
  • you can invoke custom hooks that other code can hook a callback to, via do_action or apply_filters. when you add_action or add_filter, you're registering a callback for that action or filter hook.
    – Milo
    Apr 29 '14 at 1:20

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.