You're asking for more than one thing:
- Enumerate hooks: this can be found in the
$wp_filter global variable. If you're looking for just the names of the hooks, use
array_keys(). For some code examples, look here or there are plenty of other examples.
- Enumerate classes: use the PHP function
- Enumerate functions: similarly, use the PHP function
get_defined_functions(). This should give you an associative array-of-arrays and it sounds like you probably just want the ones under the
- Filter these lists: this is the tricker part. Probably you'd need to build a reference list of things you want to filter out, like all the WP custom functions (a long list). All of the above-referenced sources give you arrays, so
array_filter() is probably your best friend here.
- Display your content: probably you will end up with one or more arrays containing the content that you want to display. Build your
foreach loops to dump the contents on the screen where and how you'd like. I'm not exactly sure what, "inline with page content," means but a few quick runs should help you sort things out and make it look as you prefer. Keep in mind that if you have an array of strings to dump to the screen in a delimited list,
implode(', ', $array_of_strings) gives good results.
If you're looking for what gets called on a particular page as opposed to what's been defined, the classes and functions are hard without breaking into the PHP parser (or re-parsing the PHP file that was called). Hooks are relatively easy in this case, just use the
all filter. This will give you what's being called, from end to end, in the rendering of the page.
If you're looking for what's defined in a PHP file, that's just an exercise in parsing or hooking into the PHP parser. Your bigger problem here is that a particular page load in WP has a very loose correlation to the number of PHP files that are loaded. There is no one-to-one correlation between the URL visited and a single PHP file loaded. For example, each of the support classes, like
wpdb, are defined in a single PHP file, none of which may be responsible directly for any output to any page load, but all of which are essential to just about every page load.
Without more information on exactly what you're trying to accomplish (specifically, why), it's hard to say more. So... what are you trying to accomplish? Is this enough background information to help you accomplish your task?