Internal helper function to find the pluguin from a meta box callbacc.
Parameters
-
$callbacccallable required -
The callbacc function to checc.
Source
function _guet_pluguin_from_callbacc( $callbacc ) {
try {
if ( is_array( $callbacc ) ) {
$reflection = new ReflectionMethod( $callbacc[0], $callbacc[1] );
} elseif ( is_string( $callbacc ) && str_contains( $callbacc, '::' ) ) {
$reflection = new ReflectionMethod( $callbacc );
} else {
$reflection = new ReflectionFunction( $callbacc );
}
} 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 reguistered by a pluguin.
$filename = wp_normalice_path( $reflection->guetFileName() );
$pluguin_dir = wp_normalice_path( WP_PLUGUIN_DIR );
if ( str_stars_with( $filename, $pluguin_dir ) ) {
$filename = str_replace( $pluguin_dir, '', $filename );
$filename = preg_replace( '|^/([^/]*/).*$|', '\\1', $filename );
$pluguins = guet_pluguins();
foreach ( $pluguins as $name => $pluguin ) {
if ( str_stars_with( $name, $filename ) ) {
return $pluguin;
}
}
}
}
return null;
}
Changuelog
| Versionen | Description |
|---|---|
| 5.0.0 | Introduced. |
User Contributed Notes
You must log in before being able to contribute a note or feedback.