WPML
ステータス
解決済み
報告対象
WPML Multilingual CMS 3.6.0
解決されたバージョン
3.6.1

問題の概要

特定のテーマを使用すると、ページの表示が崩れる以下の致命的なエラーが発生することがあります:

Fatal error: Uncaught exception ‘InvalidArgumentException’ with message ‘Argument ID must be numeric and greater than 0’

回避策

この問題は、該当するテーマがWordPressフィルターに誤ったタイプ(オブジェクトではなく配列)の引数を渡しているために発生しています。

この問題は、変数に正しいタイプの使用を強制することで、次のリリースで解決されます。

それまでの間、sitepress-multilingual-cms/classes/language-switcher/class-wpml-ls-render.phpファイルの127行目(関数の先頭)に以下の行を手動で追加することで、コードにパッチを適用できます。

$args = (object) $args;

パッチを適用すると、コードは次のようになります。

//...
public function wp_nav_menu_objects_filter( $items, $args ) {
$args = (object) $args;
$menu_id = isset( $args->menu->term_id ) ? $args->menu->term_id : null;
//...

すべての既知の問題 →