WordPress как на ладони
WordPress Meetup #4. Встречаемся в Москве wordpress jino

selected() WP 1.0

Сравнивает 2 значения, если они совпадают выводит строку "selected='selected'". Для использования в выпадающем списке <select>, в теге <option>.

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

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

В WordPress существуют еще 2 аналогичные вспомогательные функции:
для <input type="radio">

disabled( $val1, $val2 );

для <input type="checkbox">

checked( $val1, $val2 );
Работает на основе: __checked_selected_helper()

Хуков нет.

Возвращает

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

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

selected( $val1, $val2, $echo );
$val1(строка/число/логический) (обязательный)
Первое значение, которое нужно сравнить со вторым.
$val2(строка/число/логический) (обязательный)
Второе значение, которое нужно сравнить с первым.
$echo(логический)
Выводить значение на экран (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.

Код selected: wp-includes/general-template.php VER 4.9.7

<?php
function selected( $selected, $current = true, $echo = true ) {
	return __checked_selected_helper( $selected, $current, $echo, 'selected' );
}

Cвязанные функции

Из метки: form (функции формы)

Комментариев нет
    Здравствуйте, !     Войти . Зарегистрироваться