checked()WP 1.0.0

Используется в 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

Примеры

0

#1 Демонстрация использования

Смотрите что выводит функция в зависимости от ввода разных параметров.

checked( 1 );           //  checked='checked'
checked( 0 );           // ''

checked( '1' );         //  checked='checked'
checked( '0' );         // ''

checked( true );        //  checked='checked'
checked( false );       // ''

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

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

#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() WP 6.5.2

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