In WordPress è spesso di vitale importanza individuare il browser dell'utente al fine di fornire un particolare tipo di layout o di risolvere specifici problemi legati ad un determinato browser. Possiamo sfruttare il nome del browser per vari scopi. Vediamoli insieme.
Per prima cosa definiamo una funzione di utility che individua i quattro browser principali:
function get_ua() {
$ua = strtolower($_SERVER['HTTP_USER_AGENT']);
$browser = '';
if(stristr($ua, 'chrome')) {
$browser = 'chrome';
} else if(stristr($ua, 'firefox')) {
$browser = 'firefox';
} else if(stristr($ua, 'safari')) {
$browser = 'safari';
} else if(stristr($ua, 'msie')) {
$browser = 'ie';
}
return $browser;
}
Un uso molto comune è quello di fornire una classe CSS speciale all'elemento body
:
<body class="<?php echo get_ua(); ?>">
Con quella classe poi possono essere applicati una serie di stili CSS diversi a seconda del browser o anche aggiunti dei comportamenti e delle interazioni JavaScript indirizzate ad un particolare browser.
Possono essere anche caricati degli stili CSS per i vari browser o, nel caso di Internet Explorer, usati i commenti condizionali solo quando ce n'è effettivamente bisogno:
<head>
<?php
$browser = get_ua();
if($browser == 'ie') {
?>
<!--[if lt IE 9]>
<script type="text/javascript" src="<?php echo get_template_directory_uri() . '/js/html5.js';?>"></script>
<![endif]-->
<?php } ?>
</head>