wp/wp-includes/vars.php
changeset 7 cf61fcea0001
parent 5 5e2f62d02dcd
child 9 177826044cd9
--- a/wp/wp-includes/vars.php	Tue Jun 09 11:14:17 2015 +0000
+++ b/wp/wp-includes/vars.php	Mon Oct 14 17:39:30 2019 +0200
@@ -16,7 +16,7 @@
  */
 
 global $pagenow,
-	$is_lynx, $is_gecko, $is_winIE, $is_macIE, $is_opera, $is_NS4, $is_safari, $is_chrome, $is_iphone, $is_IE,
+	$is_lynx, $is_gecko, $is_winIE, $is_macIE, $is_opera, $is_NS4, $is_safari, $is_chrome, $is_iphone, $is_IE, $is_edge,
 	$is_apache, $is_IIS, $is_iis7, $is_nginx;
 
 // On which page are we ?
@@ -48,16 +48,18 @@
 unset($self_matches);
 
 // Simple browser detection
-$is_lynx = $is_gecko = $is_winIE = $is_macIE = $is_opera = $is_NS4 = $is_safari = $is_chrome = $is_iphone = false;
+$is_lynx = $is_gecko = $is_winIE = $is_macIE = $is_opera = $is_NS4 = $is_safari = $is_chrome = $is_iphone = $is_edge = false;
 
 if ( isset($_SERVER['HTTP_USER_AGENT']) ) {
 	if ( strpos($_SERVER['HTTP_USER_AGENT'], 'Lynx') !== false ) {
 		$is_lynx = true;
+	} elseif ( strpos( $_SERVER['HTTP_USER_AGENT'], 'Edge' ) !== false ) {
+		$is_edge = true;
 	} elseif ( stripos($_SERVER['HTTP_USER_AGENT'], 'chrome') !== false ) {
 		if ( stripos( $_SERVER['HTTP_USER_AGENT'], 'chromeframe' ) !== false ) {
 			$is_admin = is_admin();
 			/**
-			 * Filter whether Google Chrome Frame should be used, if available.
+			 * Filters whether Google Chrome Frame should be used, if available.
 			 *
 			 * @since 3.2.0
 			 *
@@ -118,14 +120,11 @@
 /**
  * Test if the current browser runs on a mobile device (smart phone, tablet, etc.)
  *
- * @return bool true|false
+ * @since 3.4.0
+ * 
+ * @return bool
  */
 function wp_is_mobile() {
-	static $is_mobile;
-
-	if ( isset($is_mobile) )
-		return $is_mobile;
-
 	if ( empty($_SERVER['HTTP_USER_AGENT']) ) {
 		$is_mobile = false;
 	} elseif ( strpos($_SERVER['HTTP_USER_AGENT'], 'Mobile') !== false // many mobile devices (all iPhone, iPad, etc.)
@@ -140,5 +139,12 @@
 		$is_mobile = false;
 	}
 
-	return $is_mobile;
+	/**
+	 * Filters whether the request should be treated as coming from a mobile device or not.
+	 *
+	 * @since 4.9.0
+	 *
+	 * @param bool $is_mobile Whether the request is from a mobile device or not.
+	 */
+	return apply_filters( 'wp_is_mobile', $is_mobile );
 }