Cum obțin numele unui meniu în WordPress?
În prezent, configurez un meniu lateral cu multiple meniuri și secțiuni. Fiecare secțiune cu titlu (numele meniului) și o serie de linkuri dedesubt (elementele meniului) - Am afișat elementele, dar cum pot afișa numele meniului?
Mulțumesc,
Jacob

Începând cu versiunea WordPress 4.9.0 și mai noi, puteți utiliza
wp_get_nav_menu_name($location)
wp_nav_menu_name pentru mai multe detalii

Puteți accesa metadatele meniului folosind funcția wp_get_nav_menu_object
DUPĂ NUME:
$menu = wp_get_nav_menu_object("my mainmenu" );
DUPĂ SLUG:
$menu = wp_get_nav_menu_object("my-mainmenu" );
Obiectul returnat arată astfel:
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
)
Pentru a afișa numele:
echo $menu->name;

Deja furnizezi numele, de ce ai vrea să-l obții din nou? De fiecare dată când schimbă meniul cu altul sau actualizează numele meniului în back-end, va trebui să actualizeze acele valori.

@DavidLee Nu înțeleg de ce ai respuns răspunsul meu, ideea este aceeași, doar am furnizat posibilul parametru acceptat de funcția wp_get_nav_menu_object
, asta e tot.

Dacă dorești, poți accesa și metadatele meniului furnizând ID-ul meniului astfel: $menu = wp_get_nav_menu_object ('id');

gândește-te, spui că pentru a obține numele meniului
ai nevoie de numele meniului
, la fel și cu ID-ul

Hei David, cred că faci o observație excelentă - dar nu o înțeleg pe deplin. Poți explica puțin mai mult în răspunsul tău?

Puteți obține numele în felul următor, folosind locația meniului, astfel încât dacă meniul este actualizat sau alocați alt meniu, nu va trebui să actualizați nimic aici:
$locations = get_nav_menu_locations(); //obține toate locațiile de meniu
$menu = wp_get_nav_menu_object($locations['name_of_the_menu_location']);//obține obiectul meniului
echo $menu->name; // numele meniului
'name_of_the_menu_location'
este cel pe care îl folosiți pentru a afișa un meniu folosind wp_nav_menu
<?php
wp_nav_menu(array(
'theme_location' => 'footer'//această valoare
));
?>
