Вывод меню WordPress «вручную»

Некоторые списки отображения не могут быть упорядочены автоматически. Это касается периодически обновляемых списков категорий товара, порядок в которых зависит от конъюнктуры.

Заставлять менеджеров сайта выставлять весовые коэффициенты для автоматизации вывода списка, особенно если часть пунктов временами необходимо скрыть — бесчеловечно.

На помощь в данном случае приходят стандартные меню WordPress.

Общая идея решения — менеджер сайта создает меню и вручную выставляет порядок пунктов. Так можно подготовить варианты списков для каждого праздника, в том числе — вариант «по умолчанию», который может легко меняться вручную чуть ли не каждую минуту.

Наша задача — отобразить то, на что ссылаются пункты меню.

Программное решение будет состоять из двух частей — стандартная регистрация меню, и код, который выводит «меню» на странице.

1. Регистрация меню

Это самое простое:

Как правило, тема оформления уже содержит одно или несколько определений меню. В таком случае, наш пример будет выглядеть так (также добавим локализацию):

2. Вывод меню

Прежде всего, необходимо получить список зарегистрированных меню, выбрать из них нужное:

Далее — получаем список пунктов меню и в цикле перебираем их:

Следует отметить, что объект $menu_item на каждой итерации содержит ссылку на соответствующую запись, помещенную в меню. Из всех элементов объекта нас будут интересовать:

  • $menu_item->url — адрес страницы, добавленной в меню
  • $menu_item->title — заголовок пункта меню (по умолчанию совпадает с заголовком страницы)
  • $menu_item->object_id — идентификатор страницы. Этот идентификатор можно использовать для получения связанного со страницей изображения, метаданных страницы и т.п.

В нашем примере покажем вставку ссылки на страницу, укажем заголовок из меню и добавим миниатюру записи.

Готовый фрагмент кода будет выглядеть так:

 

Добавить комментарий