WP_AI_Client_Event_Dispatcher::get_hook_name_portion_for_event
Converts an event object class name to a WordPress action hook name portion.
Method of the class: WP_AI_Client_Event_Dispatcher{}
No Hooks.
Returns
String. The hook name portion derived from the event class name.
Usage
// private - for code of main (parent) class only $result = $this->get_hook_name_portion_for_event( $event ): string;
- $event(object) (required)
- The event object.
Changelog
| Since 7.0.0 | Introduced. |
WP_AI_Client_Event_Dispatcher::get_hook_name_portion_for_event() WP AI Client Event Dispatcher::get hook name portion for event code WP 7.0
private function get_hook_name_portion_for_event( object $event ): string {
$class_name = get_class( $event );
$pos = strrpos( $class_name, '\\' );
$short_name = false !== $pos ? substr( $class_name, $pos + 1 ) : $class_name;
// Convert PascalCase to snake_case.
$snake_case = strtolower( (string) preg_replace( '/([a-z])([A-Z])/', '$1_$2', $short_name ) );
// Strip '_event' suffix if present.
if ( str_ends_with( $snake_case, '_event' ) ) {
$snake_case = (string) substr( $snake_case, 0, -6 );
}
return $snake_case;
}