selected()
Выводит строку selected='selected', есил совпадают два первых параметра функции.
Нужна для использования в выпадающем списке <select>, в теге <option>.
В выпадающих списках select часто приходится проверять значения и ставить флаг selected для той опции, которая сейчас установлена. Для удобства такой проверки создана эта функция.
Это одна функций-помощников для форм: checked(), disabled(), selected(), wp_readonly().
При сравнении значений они предварительно приводятся к одному типу (строка), а затем сравниваются:
(string) $one === (string) $two
Таким образом не точное совпадение будет все равно срабатывать, например:
- число
1будет равно строке'1'. trueбудет равно1или'1'.falseбудет равно0или'0'.- и т.д.
Хуков нет.
Возвращает
Строку. Функция выводит на экран selected='selected' или пустую строку ''.
Если последний параметр $echo равен false, то функция вернет значение, а не выведет на экран.
Использование
Использование
selected( $selected, $current, $display );
- $selected(строка/число/логический) (обязательный)
- Первое значение, которое нужно сравнить со вторым.
- $current(строка/число/логический)
- Второе значение, которое нужно сравнить с первым.
По умолчанию: true - $display(логический)
- Выводить значение на экран (true) или вернуть для обработки (false).
По умолчанию: true
Примеры
#1 Пример использования selected()
Обычная проверка:
<select name="options[foo]"> <option value="1" <?php if ( $options['foo'] === 1 ) echo 'selected="selected"'; ?>>1</option> <option value="2" <?php if ( $options['foo'] === 2 ) echo 'selected="selected"'; ?>>2</option> <option value="3" <?php if ( $options['foo'] === 3 ) echo 'selected="selected"'; ?>>3</option> </select>
Такая же проверка с функцией selected()
<select name="options[foo]"> <option value="1" <?php selected( $options['foo'], 1 ); ?>>1</option> <option value="2" <?php selected( $options['foo'], 2 ); ?>>2</option> <option value="3" <?php selected( $options['foo'], 3 ); ?>>3</option> </select>
#2 Использование checked()
Обычная проверка:
<input type='checkbox' name='options[postlink]' value='1' <?php if ( 1 == $options['postlink'] ) echo 'checked="checked"'; ?> />
С использованием checked():
<input type="checkbox" name="options[postlink]" value="1" <?php checked( $options['postlink'], 1 ); ?> />
#3 Использование disabled() (с версии 3.0)
<input type="radio" name="attachments" value="<?php echo $value; ?>" <?php disabled( $value, false ); ?> />
Выглядит заметно компактнее.
Рекомендую хороший блог о Wordpress: mojwp.ru.
Список изменений
| С версии 1.0.0 | Введена. |
Код selected() selected WP 6.9.4
function selected( $selected, $current = true, $display = true ) {
return __checked_selected_helper( $selected, $current, $display, 'selected' );
}