* @since 1.1 * * @param bool|int $multiple The provided $multiple value. * @return array */ public static function get_multiple_and_max( $multiple ) { $max_selection_number = 999; if ( is_numeric( $multiple ) ) { $multiple = (int) $multiple; /** * Treat -1 as unlimited just like in WordPress's get_posts (well, in this Kirki case, it's 999 :). * Also treat 0 as "unlimited" because 1 it self will disable the multiple selection. */ if ( 0 >= $multiple ) { $max_selection_number = 999; $multiple = true; } else { // If $multiple is > 1. if ( 1 < $multiple ) { $max_selection_number = $multiple; $multiple = true; } else { // Here $multiple === 1, that means, it's single mode select. $multiple = false; } } } return [ 'multiple' => $multiple, 'max_selection_number' => $max_selection_number, ]; } }