サポート » 使い方全般 » Warning: array_merge(): Argument #2が出る

  • 解決済 kaeru_kawamura

    (@kaeru_kawamura)


    サイトや管理画面の上部に
    Warning: array_merge(): Argument #2 is not an array in /home/users/2/lolipop.jp-xxx/web/xxx/wp-includes/nav-menu.php on line 93
    と同じ警告文が3行表示されます。

    該当のファイルの93行目は空白行で
    前後の行は
    92行目 $title = ( ! isset( $item->label ) || '' == $item->label ) ? $title : $item->label;
    94行目 $submenu_text = '';
    となっております。

    もしお分かりの方がいらしたらぜひお力添えを頂けませんでしょうか?
    よろしくお願いいたします。

5件の返信を表示中 - 1 - 5件目 (全5件中)
  • 使っているプラグインのどれかが原因ではないでしょうか。いちどプラグインをすべて停止してみてはどうでしょう、それで警告文が表示されなくなれば、改めてひとつずつ有効にしていって原因のプラグインを特定できると思います。

    トピック投稿者 kaeru_kawamura

    (@kaeru_kawamura)

    助言頂きありがとうございます。
    ただ、残念ながらプラグインを全て停止しても
    警告文が変わらず出てまいました…

    実際の nav-menu.php の93行目付近は以下のようになっていますね。
    お使いのエディタが、折り返した行をカウントするようになっているかもしれません。

    /**
     * Register navigation menus for a theme.
     *
     * @since 3.0.0
     *
     * @global array $_wp_registered_nav_menus
     *
     * @param array $locations Associative array of menu location identifiers (like a slug) and descriptive text.
     */
    function register_nav_menus( $locations = array() ) {
    	global $_wp_registered_nav_menus;
    	add_theme_support( 'menus' );
    	$_wp_registered_nav_menus = array_merge( (array) $_wp_registered_nav_menus, $locations );
    }

    エラー内容としては、register_nav_menus() には配列を渡さないといけないのに、実際には配列ではない、というものだと思います。

    テーマは自作でしょうか?
    register_nav_menu() と register_nav_menus() を間違って使っている、等あるかもしれません。

    関数リファレンス/register nav menus – WordPress Codex 日本語版
    関数リファレンス/register nav menu – WordPress Codex 日本語版

    プラグインが原因でないなら、次に考えられるのはテーマですね。
    Twenty Fifteen(WordPress 公式テーマ)を有効にしても警告が表示されますか?

    トピック投稿者 kaeru_kawamura

    (@kaeru_kawamura)

    以前,function.php内にカスタムメニューの設定を途中までしておいた
    以下のコード

    add_theme_support('menus');
    register_nav_menus('header-navi','ヘッダーナビ');

    これを消したら警告が消えるようになりました。

    いろいろと助言頂有り難うございました。

5件の返信を表示中 - 1 - 5件目 (全5件中)
  • トピック「Warning: array_merge(): Argument #2が出る」には新たに返信することはできません。