Skip to Content
Menu

get_device()

Get the requested information of the user’s device.

PHP April 1, 2021

Usage

PHP
nebula()->get_device($info)

Parameters

$info
(Optional) (String) The data to return
Default: model

Request or provide clarification »

Was this page helpful? Yes No


    A feedback message is required to submit this form.


    Please check that you have entered a valid email address.

    Enter your email address if you would like a response.

    Thank you for your feedback!

    Source File

    Located in /libs/Utilities/Device.php on line 72.

    1 Hook

    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_device"
    Need a new filter hook? Request one here.

    Actions
    This function has no action hooks available. Request one?

    PHP
            public function get_device($info='model'){
                $override = apply_filters('pre_nebula_get_device', null, $info);
                if ( isset($override) ){return $override;}
    
                global $is_iphone;
    
                $info = str_replace(' ', '', $info);
                switch ( strtolower($info) ){
                    case 'brand':
                    case 'brandname':
                    case 'make':
                    case 'model':
                    case 'name':
                    case 'type':
                        if ( $is_iphone ){
                            return 'iphone';
                        }
                        break;
                    case 'formfactor':
                        if ( wp_is_mobile() || $is_iphone || $this->is_mobile() ){
                            return 'mobile';
                        }
                        return 'desktop';
                    default:
                        return '';
                }
    
                //Could consider checking/parsing the HTTP_SEC_CH_UA header here. If so, strip out quotes and escapes- Ex: str_replace(array('"', '\\'), '', $_SERVER['HTTP_SEC_CH_UA_PLATFORM'])
                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_device', 'my_custom_get_device', 10, 2); //The last integer must be 1 more than the actual parameters
    function my_custom_get_device($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_device', '__return_false');