WordPress Popular Postsの「Warning: DOMDocument::loadHTML()」エラーの解決方法

このエラーに関して、バージョン「6.2.1」で修正されました。

WordPress Popular Postsをバージョン「6.1.4」にアップロードしたところ、以下のようなエラーメッセージが表示され、これまで表示されていた記事が表示されなくなってしまいました。

Warning: DOMDocument::loadHTML(): Tag figure invalid in Entity, line: xx in /xxx/wp-content/plugins/wordpress-popular-posts/src/Output.php on line 166

プラグインを「6.1.3」にダウングレードし、修正バージョンを待てばいいのですが、ひとまず解決できたのでその方法をご紹介します。

具体的には「Output.php」の166行付近の以下のコードを、

$dom = new \DOMDocument();
$dom->loadHTML($html);
$xpath = new \DOMXPath($dom);

以下のコードに編集すればOKです。

$dom = new \DOMDocument();
libxml_use_internal_errors( true ); //追加したコード1
$dom->loadHTML($html);
libxml_clear_errors(); //追加したコード2
$xpath = new \DOMXPath($dom);

今回エラーが出た原因として、HTMLのマークアップが正しくない場合に「DOMDocument::loadHTML」使ってしまうと「Warning」が出てしまうということでした。上のコードを追加することで、エラーが出ないようにできます。

参考になれば幸いです。

よかったらシェアしてね!
目次