checked()
Используется в checkbox и radio полях формы. Сделана для удобства, проверяет два значения и если они совпадают выводит атрибут checked='checked' для текущего поля формы.
Это одна из функций-помощников для форм: checked(), disabled(), selected(), wp_readonly().
В начале строки есть пробел: " checked='checked'".
При сравнении значений они предварительно приводятся к одному типу (строка), а затем сравниваются:
(string) $one === (string) $two
Таким образом не точное совпадение будет все равно срабатывать, например:
- число
1будет равно строке'1'. trueбудет равно1или'1'.falseбудет равно0или'0'.- и т.д.
Работает на основе: __checked_selected_helper()
1 раз — 0.000001 сек (скорость света) | 50000 раз — 0.01 сек (скорость света) | PHP 7.3.12, WP 5.3.2
Хуков нет.
Возвращает
Строку. Выводит на экран:
checked='checked'— когда переданные значения равны между собой''(пустую строку) — когда переданные значения не равны.
Если третий параметр ($echo) установить в false, то функция ничего не выведет на экран.
Использование
<?php checked( $checked, $current, $echo ); ?>
- $checked(строка/число/логический) (обязательный)
- Первое из сравниваемых значений.
- $current(строка/число/логический)
- Второе из сравниваемых значений. Заполнять не обязательно, вам нужно просто проверить наличие первого параметра.
По умолчанию: true - $echo(логический)
- Выводить результат на экран (true) или возвращать для обработки (false).
По умолчанию: true
Примеры
#1 Демонстрация использования
Смотрите что выводит функция в зависимости от ввода разных параметров.
checked( 1 ); // checked='checked' checked( 0 ); // '' checked( '1' ); // checked='checked' checked( '0' ); // '' checked( true ); // checked='checked' checked( false ); // '' checked( false, false ); // checked='checked' checked( 1, '1' ); // checked='checked' checked( true, '1' ); // checked='checked' checked( true, 'str' ); // '' checked( 2 ); // '' checked( 'str' ); // '' checked( array() ); // '' checked( array(true) ); // '' checked( array(1) ); // ''
#2 Пример использования checked() в коде
<?php
// получим опцию из базы данных. Значение опции - это массив.
$option = get_option('slug_option');
// Получим значение необходимой нам опции
$checked = $option['self-destruct']; // ожидается что тут или true или 1
?>
<input name="slug_option[self-destruct]" value="1"<?php checked( $checked ); ?>/> #3 Сравним вывод PHP и с помощью checked()
Вариант с if():
<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.0 | Введена. |
Код checked() checked WP 7.0
function checked( $checked, $current = true, $display = true ) {
return __checked_selected_helper( $checked, $current, $display, 'checked' );
}