Нормальное WordPress меню выглядит так:
Home | Blog | About us | Contact
Но я видел много сайтов, где меню с описанием:
Home Page | Our Blogs | About us
| Contact
….meet us…| read more| basic info| contact form
Как этого добиться?
(Я хочу, чтобы это было основной функцией для всех моих тем, поэтому не нужно плагинов, я просто хочу знать, как это делается)
Вам нужен пользовательский Walker для меню навигации.
По сути, вы добавляете параметр
'walker'
вwp_nav_menu()
и вызваете экземпляр расширенного класса:Класс
Description_Walker
расширяетWalker_Nav_Menu
и изменяет функциюstart_el( &$output, $item, $depth, $args )
.Пример:
В итоге:
Попробуйте это:
public function start_el(&$output, $item, $depth, $args) { parent::start_el($output, $item, $depth, $args); $output .= sprintf('<i>%s</i>', esc_html($item->description)); }
Вот пример: