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も動作する様になりました。

高機能テーマで、プラグインとの競合が起きた場合、原因を特定することが難しく、なかなか対処するのが大変です。今回はなんとか、解決できて、ほっとしました。