私のトップレベルのナビゲーションのタイトルを取得する必要があります。私はすでにトップレベルのメニュー項目のIDを知っていますが、タイトルを取得する必要があります。それをどうすればできますか?IDからメニュー項目タイトルを取得
私は現在、このようなメニューがあります:イムの場合
- レベル1
- レベル2#1
- レベル2#2
- レベル2#3
を私が持っているレベル2のページのいずれかレベル1 メニュー項目 ID。私は、現在のテーマ場所のインスタンスでタイトルを取得する必要があります。
私のトップレベルのナビゲーションのタイトルを取得する必要があります。私はすでにトップレベルのメニュー項目のIDを知っていますが、タイトルを取得する必要があります。それをどうすればできますか?IDからメニュー項目タイトルを取得
私は現在、このようなメニューがあります:イムの場合
を私が持っているレベル2のページのいずれかレベル1 メニュー項目 ID。私は、現在のテーマ場所のインスタンスでタイトルを取得する必要があります。
以下の機能を使用して、メニューIDを渡してメニュータイトルを取得します。
Function: wp_get_nav_menu_object($menu) // $menu can be 'id','name' or 'slug'
Returns : Object (
term_id => 4
name => My Menu Name
slug => my-menu-name
term_group => 0
term_taxonomy_id => 4
taxonomy => nav_menu
description =>
parent => 0
count => 6
)
// in your case.
$menu = wp_get_nav_menu_object($topParent);
$menu_title = $menu->name;
詳細はこちらをご覧ください。 https://codex.wordpress.org/Function_Reference/wp_get_nav_menu_object
、メニュータイトルを取得IDから
if(getTopSelectedMenu('primary')){
$topParentId = intval(getTopSelectedMenu('primary'));
$menuLocations = get_nav_menu_locations(); // Get our nav locations (set in our theme, usually functions.php)
// This returns an array of menu locations ([LOCATION_NAME] = MENU_ID);
$menu = wp_get_nav_menu_object($menuLocations['primary']) ; // Get the *primary* menu object
$primaryNav = wp_get_nav_menu_items($menu->term_id); // Get the array of wp objects, the nav items for our queried location.
foreach ($primaryNav as $navItem) {
if ($navItem->ID == $topParentId) {
$topParentTitle = $navItem->title;
}
}
}
<div class="sidebar-menu-headline"><?=$topParentTitle?><i class="fa fa-arrow-down" aria-hidden="true"></i></div>
さて、私は明確にしましょう。メニュー名ではなく、メニュー項目のタイトルが必要です。例えば、私が>レベル1メニュー(ID:1)、>>レベル2メニュー(ID:2)、>>レベル2メニュー2(ID:3)を持っている場合、私は現在トップレベルのメニューID(この例では1) )。私はこのナビゲーションインスタンスからタイトル(レベル1メニュー)を取得する必要があります –
私の答えを編集しました。 –
ありがとうございます。魅力のように働いて、私の小さなホットフィックスを承認してください。また、私はあなたが何をしているのかを説明したことが大好きです:) –
https://wordpress.stackexchange.com/a/16337/121266 –
@AlivetoDie以下のコードを使用するには? –