Full UTF-8プラグインはWP 6.4にアップデートするとエラーになる

Full UTF-8プラグインでエラーに

Full UTF-8はUTF-8文字の完全なサポートをするためのWordPressプラグインです。

日本時間の2023年11月8日(水)にWordPress 6.4 Shirleyがリリースされました。

最新のWordPressはUTF-8に対応しているため、現在は必要のないプラグインです。

最後にアップデートされたのは9年前なので、セキュリティ的にはアンインストールしたほうが良いプラグインでもあります。

もし、Full UTF-8がインストールされている状態でWordPress 6.4にアップデートするとWebサイト(管理画面を含む)に以下のようなエラーが発生して閲覧不可になります。

Fatal error: Uncaught Error: Call to undefined function mysql_query() in /home/iwbjp/public_html/wp-content/plugins/full-utf-8/FullUtf8_wpdb.php:136 Stack trace: #0 /home/iwbjp/public_html/wp-content/plugins/full-utf-8/FullUtf8_wpdb.php(59): FullUtf8_wpdb->_do_query('SELECT option_n...') #1 /home/iwbjp/public_html/wp-includes/class-wpdb.php(3131): FullUtf8_wpdb->query('SELECT option_n...') #2 /home/iwbjp/public_html/wp-includes/option.php(606): wpdb->get_results('SELECT option_n...') #3 /home/iwbjp/public_html/wp-includes/functions.php(1778): wp_load_alloptions() #4 /home/iwbjp/public_html/wp-includes/load.php(899): is_blog_installed() #5 /home/iwbjp/public_html/wp-settings.php(160): wp_not_installed() #6 /home/iwbjp/public_html/wp-config.php(95): require_once('/home/iwbjp...') #7 /home/iwbjp/public_html/wp-load.php(50): require_once('/home/iwbjp...') #8 /home/iwbjp/public_html/wp-blog-header.php(13): require_once('/home/iwb/iwbjp...') #9 /home/iwbjp/public_ht in /home/iwbjp/public_html/wp-content/plugins/full-utf-8/FullUtf8_wpdb.php on line 136

このエラーメッセージは、mysql_query() というPHP関数が未定義であることを示しています。

mysql_query() 関数は、PHP 7.0で非推奨とされ、PHPの新しいバージョンでは削除されています。

このエラーはWordPressサイトが新しいPHPバージョンを使用しているが、プラグイン full-utf-8 が古い mysql_* 関数を使用しているために発生しています。

エラーが発生したときの対処法

/wp-content/db.php でFull UTF-8を読み込む箇所があるので、該当部分をコメントアウトして読み込まないようにすれば解決します。

<?php
/**
 * Full UTF-8 support for WordPress
 * by {@link http://andowebsit.es/blog/noteslog.com Andrea Ercolino}
 */

// require_once( WP_CONTENT_DIR . '/plugins/full-utf-8/FullUtf8_wpdb.php' );
// $wpdb = new FullUtf8_wpdb( DB_USER, DB_PASSWORD, DB_NAME, DB_HOST );