WordPressメモ Search Everytingプラグインを実行するとワーニングが表示されるので対応してみる

WordPress

レンタルサーバーの移行をしてたんだけど、記事の内容を置換しようと思ったらこんなメッセージが表示される…。

 

Deprecated: Function create_function() is deprecated in /.../wp-content/plugins/search-everything/search-everything.php on line 236

で、いろいろ調べてみたんだけど…どうやらPHPでバージョンが7.2以降ではcreate_function()は非推奨になったそうで。
今借りてるサーバーでPHPのバージョンを新しくしたことが起因したみたい。
んま、セキュリティのこともある?し新しいバージョンに置き換わってようなので、思い立ったが吉日と思ったのもあり対応することに。

んで、プラグインのコードを修正。
コードの修正は管理画面のプラグインエディターで修正した。

もともとあったコードはこんなん。

$search_terms = array_filter(array_map( create_function( '$a', 'return trim($a, "\\"\'\\n\\r ");' ), $matches[0] ));

これをコメントアウトして次のように修正。

// 新しいPHPへの対応
//$search_terms = array_filter(array_map( create_function( '$a', 'return trim($a, "\\"\'\\n\\r ");' ), $matches[0] ));
$search_terms = array_filter(array_map( function($a) 
{
    return trim($a, "\"'\n\r "); 
}, $matches[0] ));

で、実行してみると…エラーでなくなってる。

んまま、そんなこんなで明日への自分へのメモってことで。