Usage
PHP
nebula()->get_browser($info)
Parameters
$info
(Optional) (String) The data to return
Default: "name"
Parameter Notes
$info string can be “full”, “name”, “browser”, “client”, “version”, “engine”, and “type”.
Additional Notes
This function has the alias get_client().
Source File
Located in /libs/Utilities/Device.php on line 108.
2 Hooks
Find these filters and actions in the source code below to hook into them. Use do_action() and add_filter() in your functions file or plugin.
Filters
"pre_nebula_get_browser""nebula_get_browser"
Need a new filter hook? Request one here.
Actions
This function has no action hooks available. Request one?
PHP
public function get_browser($info='name'){
$override = apply_filters('pre_nebula_get_browser', null, $info);
if ( isset($override) ){return $override;}
//Hook in here to add custom checks to get_browser() calls
$additional_checks = apply_filters('nebula_get_browser', false, $info);
if ( !empty($additional_checks) ){
return $additional_checks;
}
global $is_gecko, $is_opera, $is_safari, $is_chrome, $is_edge;
switch ( strtolower($info) ){
case 'full':
case 'name':
case 'browser':
case 'client':
if ( $is_opera ){return 'opera';}
elseif ( $is_safari ){return 'safari';}
elseif ( $is_chrome ){return 'chrome';}
elseif ( $is_edge ){return 'edge';}
//Check User Agent Client Hints
if ( isset($_SERVER['HTTP_SEC_CH_UA']) ){ //if Sec-CH-UA-Platform client hint
$ch_ua = strtolower($_SERVER['HTTP_SEC_CH_UA']);
if ( str_contains($ch_ua, 'chrome') ){
return 'chrome';
}
if ( str_contains($ch_ua, 'safari') ){
return 'safari';
}
if ( str_contains($ch_ua, 'firefox') ){
return 'firefox';
}
if ( str_contains($ch_ua, 'edge') ){
return 'edge';
}
if ( str_contains($ch_ua, 'opera') ){
return 'opera';
}
}
return '';
case 'engine':
if ( $is_gecko ){return 'gecko';}
elseif ( $is_safari ){return 'webkit';}
return '';
default:
return '';
}
return '';
}
Override
To override this PHP function, use this hook in your child theme or plugin ("my_custom" can be changed):
PHP
add_filter('pre_nebula_get_browser', 'my_custom_get_browser', 10, 2); //The last integer must be 1 more than the actual parameters
function my_custom_get_browser($null, $info){ //$null is required, but can be ignored
//Write your own code here
return true; //Return true to prevent the original function from running afterwords
}
You can completely disable this PHP function with a single line actions:
PHP
add_filter('pre_nebula_get_browser', '__return_false');