WordPress あらかじめテーマ側でカスタムメニューを設定する


デモ環境から本番環境への移行や、メニューを固定化したり、あらかじめ設定しておきたい時の備忘録。

カスタムメニューの導入はあっても、カスタムメニューの作成の情報が日本語だと全くと言っていいほど見当たらないので、

英語版のここらへんを参考にしました。

 


function postmenutest(){
 if(!is_nav_menu('メニュー名')){
 $menu_id = wp_create_nav_menu('メニュー名');
 $set_menu_item = array(
 'item1' =>; array(
 'menu-item-title' => 'item1name',
 'menu-item-url' => 'アドレス1',
 'menu-item-description' => '',
 ),
 'item2' => array(
 'menu-item-title' => 'item2name',
 'menu-item-url' => 'アドレス2',
 'menu-item-description' => '',
 ),
 );
 foreach($set_menu_item as $v){
 wp_update_nav_menu_item($menu_id, 0, array(
 'menu-item-title' => $v['menu-item-title'],
 'menu-item-url' => $v['menu-item-url'],
 'menu-item-description' => $v['menu-item-description'],
 'menu-item-status' => 'publish',
 ));
 }
 }
}
add_action( 'init', 'postmenutest' );

wp_create_nav_menu()はカスタムメニューを作る関数。
作成したメニューに wp_update_nav_menu_item()でメニューアイテムを入れてます。
この他にも細かい設定があるんですが、説明すると長くなるので英語版codexを参照してください。


投稿日: 2016年7月13日
カテゴリー: WordPress | 投稿者: