メインナビゲーションの修正

この記事の所要時間: 約2分

「外観」→「メニュー」の「テーマの場所」で「メインナビゲーション」が空欄の場合、全ての固定ページが自動でメニューに表示される。これはこれで別にいいんだけど「このページはメニューに出したくない」とか「○階層までしか表示したくない」とかがあった場合はカスタムメニューを作成してそれを指定することになる。でもそれだと全メニューを手動で追加しなければならずめんどくさい。

「追加したページを自動でメニューに追加してほしいがカスタマイズもしたい」場合は wp_nav_menufallback_cb に指定されている関数を上書きしてしまう。デフォルトでは theme-functions.php の themify_default_main_nav 関数

が呼び出されるようになっているので( wp_page_menu じゃないよ)、custom-functions.phpに以下を追記。

wp_nav_menu_args フィルターフックで fallback_cb パラメータを書き換えて独自メニューを表示させる。 wp_list_pages の詳しい使い方については WordPress Codex 日本語版を参照。