Wordpress - DOMDocument :: loadHTML (): пустая строка в качестве входных данных - PullRequest
0 голосов
/ 17 декабря 2018

Я работаю в WordPress и добавил в свой файл functions.php некоторый код, который не позволит WordPress добавлять классы по умолчанию к изображению и добавлять свой собственный класс.Это работает за исключением того, что теперь, когда я создаю новый пост, он выдает ошибку (см. Скриншот).Если я удаляю строки кода, это устраняет ошибку, но я хотел бы сохранить код, так как мне нужна функция для моего сайта.

Я посмотрел эту ошибку, хотя я не понимаю, что в моем коде вызывает ее, и кто-то в другом Stackoverflow предложил добавить этот код для аналогичной ошибки:

libxml_use_internal_errors(false);

Я добавил это, и оно не сработало, так как я не до конца понял его, но пока удалил его в ожидании помощи по этому вопросу.Я ценю любую помощь!

functions.php

function add_responsive_class($content){

        $content = mb_convert_encoding($content, 'HTML-ENTITIES', "UTF-8");
        $document = new DOMDocument();
        libxml_use_internal_errors(true);
        $document->loadHTML(utf8_decode($content));

        $imgs = $document->getElementsByTagName('img');
        foreach ($imgs as $img) {
           $img->setAttribute('class','img-fluid');
        }

        $html = $document->saveHTML();
        return $html;
}

add_filter('the_content', 'add_responsive_class');

// disable srcset on frontend
add_filter('max_srcset_image_width', create_function('', 'return 1;'));

Screenshot of error

1 Ответ

0 голосов
/ 19 января 2019

Я решил эту проблему, удалив код из functions.php.Я взял предложение пользователя и стилизовал теги изображения с помощью CSS, лучшее решение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...