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