Alert: This function’s access is marked private. This means it is not intended for use by plugin or theme developers, only in other core functions. It is listed here for completeness.
_get_plugin_from_callback() WordPress Function
The _get_plugin_from_callback() function is used to get the plugin from a given callback. This is useful when you need to know which plugin is responsible for a certain action.
_get_plugin_from_callback( callable $callback ) #
Internal helper function to find the plugin from a meta box callback.
Parameters
- $callback
(callable)(Required)The callback function to check.
Return
(array|null) The plugin that the callback belongs to, or null if it doesn't belong to a plugin.
Source
File: wp-admin/includes/template.php
function _get_plugin_from_callback( $callback ) { try { if ( is_array( $callback ) ) { $reflection = new ReflectionMethod( $callback[0], $callback[1] ); } elseif ( is_string( $callback ) && false !== strpos( $callback, '::' ) ) { $reflection = new ReflectionMethod( $callback ); } else { $reflection = new ReflectionFunction( $callback ); } } catch ( ReflectionException $exception ) { // We could not properly reflect on the callable, so we abort here. return null; } // Don't show an error if it's an internal PHP function. if ( ! $reflection->isInternal() ) { // Only show errors if the meta box was registered by a plugin. $filename = wp_normalize_path( $reflection->getFileName() ); $plugin_dir = wp_normalize_path( WP_PLUGIN_DIR ); if ( strpos( $filename, $plugin_dir ) === 0 ) { $filename = str_replace( $plugin_dir, '', $filename ); $filename = preg_replace( '|^/([^/]*/).*$|', '\\1', $filename ); $plugins = get_plugins(); foreach ( $plugins as $name => $plugin ) { if ( strpos( $name, $filename ) === 0 ) { return $plugin; } } } } return null; }
Expand full source codeCollapse full source codeView on TracView on GitHub
Changelog
Version | Description |
---|---|
5.0.0 | Introduced. |