wp_readonly()
Выводит readonly='readonly'
, если совпадают первые два параметра функции.
Функция нужна для удобства, когда в поле формы нужно вывести атрибут readonly в зависимости от значения php переменной.
При сравнении значений они предварительно приводятся к одному типу (строка), а затем сравниваются:
(string) $one === (string) $two
Таким образом не точное совпадение будет все равно срабатывать, например:
- число
1
будет равно строке'1'
. true
будет равно1
или'1'
.false
будет равно0
или'0'
.- и т.д.
Это одна функций помощников для форм: checked(), disabled(), selected(), wp_readonly().
Хуков нет.
Возвращает
Строку
. Cтроку readonly='readonly'
или пустую строку.
Также, при $echo = true (по умолчанию) выводит результат на экран.
Использование
<?php wp_readonly( $readonly, $current, $echo ); ?>
- $readonly(разное) (обязательный)
- Значение которое нужно сравнить. Например true.
- $current(разное)
- Второе значение, будет сравниваться с первым.
По умолчанию: true - $echo(true|false)
- Нужно ли выводить данные на экран или просто возвращать строку.
По умолчанию: true
Примеры
#1 Демонстация использования
Допустим у нас есть код, в котором определяется переменная $is_readonly и если в ней находится true, нам нужно вывести атрибут readonly для поля формы:
<?php // какая-то логика ... $is_readonly = true; ?> <form ...> ... <input type="text" value="Some string" <?php wp_readonly( $is_readonly ) ?> /> ... </form>
#2 Добавим атрибут readonly
Допустим что для поля нужно добавить значение readonly, если текущий юзер не может редактировать пост 25:
<input type='text' name='myname' value='Значение' <?php readonly( current_user_can( 'edit_post', 25 ) ) ?> />
#3 Еще примеры, как работает функция
$is_readonly = true; wp_readonly( $is_readonly ); // выведет readonly='readonly'
$is_readonly = false; wp_readonly( $is_readonly ); // ничыго не выведет
$readonly = wp_readonly( '1', true, false ); var_dump( $readonly ); // string(20) " readonly='readonly'"
Список изменений
С версии 5.9.0 | Введена. |
Код wp_readonly() wp readonly WP 6.7.1
function wp_readonly( $readonly_value, $current = true, $display = true ) { return __checked_selected_helper( $readonly_value, $current, $display, 'readonly' ); }