Я пытаюсь изменить атрибут type
полей ввода на number
(по умолчанию они имеют тип hidden
) и добавить readonly="readonly"
, но это не влияет на вывод HTML.Атрибуты такие же, как были.
Функция сработала правильно, потому что до того, как я добавил кодировку, на странице показывались неправильные символы.У меня есть правильный CSS для форматирования входных данных только для чтения, так что визуальные эффекты не являются проблемой, я также буду использовать больше условий для поиска только определенных входных тегов, но сейчас я бы хотел, чтобы этот код работал правильно:
add_filter('the_content', 'acau_lock_input');
function acau_lock_input($content) {
$dom = new DOMDocument();
@$dom->loadHTML(mb_convert_encoding($content, 'HTML-ENTITIES', 'UTF-8'));
foreach ($dom->getElementsByTagName('input') as $node) {
$node->setAttribute('type', 'number');
$node->setAttribute('readonly', 'readonly');
}
$newHtml = $dom->saveHtml();
return $newHtml;
}