selected()WP 1.0.0

Выводит строку "selected='selected'", есил совпадают два первых параметра функции.

Нужна для использования в выпадающем списке <select>, в теге <option>.

В выпадающих списках select часто приходится проверять значения и ставить флаг selected для той опции, которая сейчас установлена. Для удобства такой проверки создана эта функция.

Это одна функций-помощников для форм: checked(), disabled(), selected(), wp_readonly().

При сравнении значений они предварительно приводятся к одному типу (строка), а затем сравниваются:

(string) $one === (string) $two

Таким образом не точное совпадение будет все равно срабатывать, например:

  • число 1 будет равно строке '1'.
  • true будет равно 1 или '1'.
  • false будет равно 0 или '0'.
  • и т.д.
Работает на основе: __checked_selected_helper()

Хуков нет.

Возвращает

Строку. Функция выводит на экран selected='selected' или пустую строку ''.

Если последний параметр $echo равен false, то функция вернет значение, а не выведет на экран.

Использование

Использование

selected( $selected, $current, $display );
$selected(строка/число/логический) (обязательный)
Первое значение, которое нужно сравнить со вторым.
$current(строка/число/логический)
Второе значение, которое нужно сравнить с первым.
По умолчанию: true
$display(логический)
Выводить значение на экран (true) или вернуть для обработки (false).
По умолчанию: true

Примеры

0

#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>
0

#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 ); ?> />
0

#3 Использование disabled() (с версии 3.0)

<input type="radio" name="attachments"  value="<?php echo $value; ?>" <?php disabled( $value, false ); ?> />

Выглядит заметно компактнее.

Рекомендую хороший блог о Wordpress: mojwp.ru.

Список изменений

С версии 1.0.0 Введена.

Код selected() WP 6.4.3

function selected( $selected, $current = true, $display = true ) {
	return __checked_selected_helper( $selected, $current, $display, 'selected' );
}