WPML

問題の概要

WPML Multilingual & Multicurrency for WooCommerceのバージョン4.7.0では、製品ページまたは通貨切り替えを含むページにアクセスすると、このエラーが発生する場合があります。

PHP Fatal error: Uncaught LogicException: A function must be an instance of Twig_FunctionInterface or Twig_SimpleFunction. in .../public_html/wp-content/plugins/sitepress-multilingual-cms/lib/twig/src/Environment.php:1119

Stack trace:

#0 .../public_html/wp-content/plugins/woocommerce-multilingual/inc/template-classes/class-wcml-templates-factory.php(80): WPMLCoreTwigEnvironment->addFunction(Object(__PHP_Incomplete_Class))

#1 .../public_html/wp-content/plugins/woocommerce-multilingual/inc/template-classes/class-wcml-templates-factory.php(24): WCML_Templates_Factory->maybe_init_twig()

#2 .../public_html/wp-content/plugins/woocommerce-multilingual/inc/currencies/currency-switcher/class-wcml-currency-switcher.php(143): WCML_Templates_Factory->get_view()

#3 .../public_html/wp-content/plugins/woocommerce-multilingual/inc/currencies/currency in /home/326328.cloudwaysapps.com/mufdqasvkk/public_html/wp-content/plugins/sitepress-multilingual-cms/lib/twig/src/Environment.php on line 1119

[21-Oct-2019 06:34:56 UTC] PHP Fatal error: Uncaught LogicException: A function must be an instance of Twig_FunctionInterface or Twig_SimpleFunction. in .../public_html/wp-content/plugins/sitepress-multilingual-cms/lib/twig/src/Environment.php:1119

この問題は、現在廃止を進めているTWIGテンプレートのサポートが原因で発生しており、開発者によってまもなく修正されます。

回避策

この問題は修正されました。 最新バージョンにアップデートするとお使いのサイトで問題が解決するため、この回避策はまだアップデートできない場合にのみ必要です。

この問題を解決するには、管理画面でWooCommerceWCMLマルチ通貨タブを開いてください。ここでデータベース内の誤ったオプションが消去され、製品ページで致命的なエラーが発生しなくなります。

すべての既知の問題

まだこの問題が発生しますか?

アップデートしても問題が解決しない場合は、サポートのご質問をお寄せください。一緒に調査いたします。