selected

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

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

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

В WordPress существуют еще 2 аналогичные вспомогательные функции:
для <input type=”radio”>
disabled( $val1, $val2 );

для <input type=”checkbox”>

checked( $val1, $val2 );

Хуков нет.

Возвращает

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

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

<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.

Код из


wp-includes/general-template.php

WP 4.7.2

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

Комментарии:


Оставить комментарий

Your email address will not be published. Required fields are marked *