_wp_timezone_choice_usort_callback
Sort-helper for timezones.
Description
Returns (int)
Parameters (2)
- 0. $a (array)
- The a.
- 1. $b (array)
- The b.
Usage
if ( !function_exists( '_wp_timezone_choice_usort_callback' ) ) { require_once ABSPATH . WPINC . '/functions.php'; } // The a. $a = array(); // The b. $b = array(); // NOTICE! Understand what this does before running. $result = _wp_timezone_choice_usort_callback($a, $b);
Defined (1)
The function is defined in the following location(s).
- /wp-includes/functions.php
- function _wp_timezone_choice_usort_callback( $a, $b ) {
- // Don't use translated versions of Etc
- if ( 'Etc' === $a['continent'] && 'Etc' === $b['continent'] ) {
- // Make the order of these more like the old dropdown
- if ( 'GMT+' === substr( $a['city'], 0, 4 ) && 'GMT+' === substr( $b['city'], 0, 4 ) ) {
- return -1 * ( strnatcasecmp( $a['city'], $b['city'] ) );
- }
- if ( 'UTC' === $a['city'] ) {
- if ( 'GMT+' === substr( $b['city'], 0, 4 ) ) {
- return 1;
- }
- return -1;
- }
- if ( 'UTC' === $b['city'] ) {
- if ( 'GMT+' === substr( $a['city'], 0, 4 ) ) {
- return -1;
- }
- return 1;
- }
- return strnatcasecmp( $a['city'], $b['city'] );
- }
- if ( $a['t_continent'] == $b['t_continent'] ) {
- if ( $a['t_city'] == $b['t_city'] ) {
- return strnatcasecmp( $a['t_subcity'], $b['t_subcity'] );
- }
- return strnatcasecmp( $a['t_city'], $b['t_city'] );
- } else {
- // Force Etc to the bottom of the list
- if ( 'Etc' === $a['continent'] ) {
- return 1;
- }
- if ( 'Etc' === $b['continent'] ) {
- return -1;
- }
- return strnatcasecmp( $a['t_continent'], $b['t_continent'] );
- }
- }