Brooklyn ThemeとWPML String Translation

クライアントからの要望で、現在英語オンリーのサイトに日本語ページを追加することになりました。

クライアントが使っているのは、United Themesという会社が作っている、Brooklynという高機能テーマです。

テーマオプションで、細かい指定をしているため、英語のフロントページに対応する日本語ページを作成するのは、なかなかハードルが高くなっています。

今回は多言語対応プラグインとして、WPMLを使用することにしました。

ところが、WPML本体では問題なかったのですが、追加モジュールのWPML String Translationをインストールしたところ、

The site is experiencing technical difficulties.

とエラーが出て、ウェブサイトが正常に表示されなくなりました。

FTP経由でアクセスし、WPML String Translationをディレクトリごと削除したところ、ウェブサイトは正常に表示される様になりました。
明らかに、プラグインの競合によるエラー症状です。

wp-config.phpを書き換えデバグ機能をオンにしたところ、

Fatal error: Uncaught Error:

が、吐き出されました。

Googleで検索したところ、WPMLのサポートページで、同じ症状が、ロシア語でレポートされているのを見つけました。

https://wpml.org/ru/forums/topic/500-error-after-activating-wpml-string-translation/

英語に翻訳して、読んでみたところ、同じ症状で、解決方法も記載されていました。

Brooklynのテーマディレクトリー内のファイル
/wp-content/themes/brooklyn/unite/core/helper/unite-helpers.php を開き
1551行目の

if ( function_exists(‘icl_t’) ) {

という記述を

if ( function_exists(‘icl_t’) && false ) {

の様に書き換え、アップロードする

ことで、直るとのことでした。

実際にテストサイトで試してみたところ、無事エラーが出なくなり、WPML String Translationも動作する様になりました。