Enfoldでヘッダーを垂直に置いた際にSecondary Menuも表示[WordPress]

enfo_secmenu_eyecatch

常日頃、大変お世話になっているWordpressのテーマ「Enfold」は、非常に便利でヘッダー(サイトロゴ+メインメニュー+セカンダリーメニュー等)のデザインも簡単に変更できます。
大概は画面上部に水平に設置することが多いのですが、案件によっては画面の左や右に垂直に置きたい時もあります。
ただ、垂直置きの時ってセカンダリーメニューを表示する場所がないんです。

で、今回はEnfoldでヘッダーを垂直置きにした際に、何とかセカンダリーメニューを表示してみたというお話です。

enfo_secmenu_hori

こちらは水平ヘッダー

enfo_secmenu_vert

こっちが垂直ヘッダー

使用環境

WordPress 4.7.2
テーマ:Enfold 4.0.7

Enfoldでは、テーマオプションの設定で「General Layout」からヘッダーのタイプが選べます。

enfo_secmenu_setting1

今回は「Left Sidebar」を選びます。
「Top Sidebar」以外だと、↓こんな感じで「Header」に関する設定ができなくなるんですね。

enfo_secmenu_setting2

って事は、セカンダリーメニューも設置できないという事になります。

とりあえず、「そんな事、俺にはカンケーねえぜ」とワイルドな感じでセカンダリーメニューを設定してみましょう。
「外観」→「メニュー」から、メニューを作成して、「Enfold Secondary Menu」にチェックを入れます。

enfo_secmenu_setting3

で、今回は画面の上部にセカンダリーメニューを配置します。

enfo_secmenu_posi

こんな感じで、赤枠で囲んだ部分ですね。


さて準備ができたので、テーマファイルのコードを編集していきますよ。

includes/helper-main-menu.php に「header_secondary_menu」についてのコードがあるので、これを header.php に追加すれば機能するかな?と思ったらできてしまいました。

header.php の74行目あたりの <div id=’main’ class=’all_colors’ … のコードの直後に

見た目はCSSで調整してくださいね。


「つーかさー、header.php に手動でリスト形式かなんかでメニュー項目を入れたら表示できんじゃね?」って思う人もいるかもしれません。
でもそれだと、メニュー項目が変わるたびに header.php を触んないといけないじゃないですか!
それはスマートじゃないですよね。

まあ、ご参考になればいいんですが…。
基本的に自分のための覚え書きですから。