WPML

問題の概要

WPMLでAstraテーマを使用すると、WPML言語セクションに未定義のプロパティ(menu_id)に関連するPHP警告が表示されます。これらの警告は、メインメニューが割り当てられ、WPMLの「メニュー言語スイッチャー」が有効化されている場合に表示されます。

Warning: Undefined property: stdClass::$menu_id in .../wp-content/themes/astra/inc/extras.php on line 513

Warning: Undefined property: stdClass::$menu_id in .../wp-content/themes/astra/inc/extras.php on line 546

回避策

続行する前に、必ずお使いのサイトの完全なサイトバックアップを取得してください。

  • …/wp-content/themes/astra/inc/extras.phpファイルを開きます。
  • 513行目を探します。
  • 置換前:
    if ( in_array( $args->menu_id, $astra_menu_locations ) ) {
  • 置換後:
    if ( isset( $args->menu_id ) && in_array( $args->menu_id, $astra_menu_locations ) ) {
  • 同じファイルの546行目に移動します。
  • 置換前:
    $is_special_menu = in_array( $args->menu_id, $special_menu_ids );
  • 置換後:
    if ( isset( $args->menu_id ) && in_array( $args->menu_id, $astra_menu_locations ) ) {

すべての既知の問題