Answer to the First question:
-
In
wp-settings.php
, WordPress first checks for any must-use plugins (plugins in the optionalmu-plugins
folder) and loads those. -
Then, if you’re running a multisite installation, it checks for plugins that are network-activated and loads those.
-
Then it checks for all other active plugins by looking at the
active_plugins
entry of thewp_options
database table, and loops through those. The plugins will be listed alphabetically.
Here’s the order WordPress loads pretty much everything: http://codex.wordpress.org/Action_Reference#Actions_Run_During_a_Typical_Request
The thing is, it usually doesn’t matter what order each individual plugin is loaded in, because properly-written plugins will use WordPress hooks, which let you plug in functionality into specific points later in the WordPress startup. (Properly-written plugins will also prefix their functions and classes so that there aren’t any conflicts.)
More info on plugin API: http://codex.wordpress.org/Plugin_API/
Answer to the Second question:
Totally depends on the plugin. WordPress only loads one file in the plugin, the one that’s usually named the-plugin-name.php
and contains the title, description, author, etc. at the top. It’s up to the plugin to load the rest of its files, using require_once
and wp_enqueue_script
and whatnot.