- ステータス
- 解決済み
- 報告対象
- 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;
//...