WordPress как на ладони
wordpress jino

checked() WP 1.0.1

Используется в checkbox и radio полях формы. Сделана для удобства, проверяет два значения и если они совпадают выводит атрибут checked='checked' для текущего поля формы.

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

Обратите внимание, что перед выводимым атрибутом ставится пробел: " checked='checked'".

Хуков нет.

Возвращает

Выводит на экран атрибут 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( 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'] ); ?> >

Код checked: wp-includes/general-template.php WP 4.8.2

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

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

Из метки: form форма

Еще из метки: Вспомогательные

checked 6 комментариев
  • Спасибо за статью.

    Ответить2.2 года назад #
  • Переменная $current не обязательна для заполнения, там по умолчанию стоит true.

    1
    Ответить2.2 года назад #
    • Kama4486

      Спасибо, ценное замечание, подправил статью чуток. thank_you

      Ответить2.2 года назад #
  • Илья

    Вот только почему они решили использовать одинарные кавычки(checked='checked'), вместо двойных, которые используются в остальной разметке? В чем прикол?

    • Илья

      И да, возможно стоит уточнить что она выводит не checked='checked', а checked='checked', то бишь с пробелом в начале.

      • Kama4486

        почему они решили использовать одинарные кавычки

        Нет прикола просто так записали, потому что удобно было так.

        $result = " $type='$type'";

        Мне это тоже не очень нравится...

        стоит уточнить что она выводит

        Уточнил, спасибо! thank_you

Здравствуйте, !

Ваш комментарий