ツイート
シェア
LINEで送る
B! はてぶでブックマーク
Pocketでブックマーク
RSSフィード

WordPress5.3 ナビゲーションメニューで整数のスラッグは使えない

wordpress image
イラストダウンロードサイト【イラストAC】
の画像をもとに加工しています。

register_nav_menus()のスラッグ名で整数が使えなくなりました。個人的には『使う人がいたのか?』と思いましたが。

開発者向けの話です。テーマ・プラグインを作っている人は要チェック。

register_nav_menus()は何?

メニューの作成には2つあります。ひとつは、

メニューの中に何を入れるのか?

を設定するもの。もうひとつは、

メニューをどこに入れるのか?

を設定するもの。register_nav_menus()は『どこに入れるか?』を設定する関数です。

<?php

register_nav_menus( [
    'top_menu' => 'トップメニュー',
    'footer_menu' => 'フッターメニュー',
] );

管理画面では、『外観』->『メニュー』の位置の設定になります。

ナビゲーションメニュー - 位置の設定
外観 -> メニュー ->『メニューの編集』タブ
ナビゲーションメニュー - 位置の設定
外観 -> メニュー ->『位置の管理』タブ

整数の配列キーはバグ

register_nav_menus()で指定するパラメータは$locationsで配列です。ただ、配列のキーに整数を指定すると、内部で配列の値が変わります。

パラメータで指定したとき
<?php

register_nav_menus( [
    'primary' => 'Primary', 
    1 => 'First', 
    2 => 'Second',
] );
結果の配列
array( 
    'primary' => 'Primary', 
    0 => 'First', 
    1 => 'Second', 
)

『なんでこうなるんだ?』と思いがちですが、関数の内部でarray_merge()を使っているから。

WP5.3からキーに整数を使うと_doing_it_wrong()でログに警告が出ます。ログで確認して出ないようにしましょう。

そもそも、リファレンスのサンプルで整数を使ってないので、わざわざ整数値を使う人はあまりいないと思いますが。

WordPressの本

post-cta-image

たくさんあるなかで、WordPressの基本が学べる、目的別に学べる本を選びました。

  • WordPressの基本。
  • Webサイト作成から運用まで全体的に学ぶ。
  • かんたんなカスタマイズを学ぶ。
  • 何も分からないところから学ぶ。
  • WordPressからPHPプログラミングを学ぶ。

の5冊です。どうしてもネット上で調べて勉強するのが苦手という人におすすめです。

この内容をモノにすればほかの本は必要ありません。あとは自分の力で、書籍を使わずにインターネット上にある情報だけで学んでいけます。


WordPressの本5選

コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください