私のテーマはカスタムメニュー割り当てを持っています...
function my_register_my_menus() {
register_nav_menus(
array('header-menu' => __( 'Custom Header Menu' ) )
);
}
...そして、私は「インストーラ」タイプのプラグインを作成しています。起動時に、このカスタムメニューにフックして、手動で作成されたかのようにそれにいくつかのページを割り当てたいと思います。
しかし、メニューAPIはかなり新しくて現在までのところ、これを行う方法の例を見つけることができませんでした。
私はここに誰かが私にそれをする方法についていくつかの方向性、例または情報を与えることができることを望みます。
前もって感謝します :-)
wp_nav_menu_{$menu->slug}_items
フックを使用して、コールバック関数を使用してリンクを追加することができます。たとえば、メニューのスラッグがheader-menu
の場合は、次のようになります。
add_filter('wp_nav_menu_header-menu_items', 'add_my_extra_links',10,2);
function add_my_extra_links($items, $args) {
$newitems = '<li><a title="Test Link" href="http://google.com">Google</a></li>';
$newitems .= '<li><a title="Test Link" href="http://yahoo.com">Yahoo</a></li>';
$newitems .= '<li><a title="Test Link" href="http://bing.com">Bing</a></li>';
$newitems .= $items;
return $newitems;
}
メニュー項目をデータベースに保存するために使用される関数である wp_save_nav_menu_items を呼び出す必要があると思います。