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.4.3
function selected( $selected, $current = true, $display = true ) { return __checked_selected_helper( $selected, $current, $display, 'selected' ); }