wp_readonly()
Виводить readonly='readonly'
, якщо збігаються перші два параметри функції.
Функція потрібна для зручності, коли в полі форми потрібно вивести атрибут readonly залежно від значення змінної php.
При порівнянні значень вони попередньо наводяться до одного типу (рядок), а потім порівнюються:
(string) $one === (string) $two
Таким чином не точний збіг все одно спрацьовуватиме, наприклад:
- число
1
дорівнюватиме рядку'1'
. true
буде одно1
або'1'
.false
буде одно0
або'0'
.- і т.д.
Це одна з функцій помічників для форм: selected() , wp_readonly().
__checked_selected_helper()
Хуків немає.
Повертає
Строку
. Рядок 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.0.2
function wp_readonly( $readonly, $current = true, $echo = true ) { return __checked_selected_helper( $readonly, $current, $echo, 'readonly' ); }