Как динамически и кодом добавить пункт в произвольное меню WordPress?

Встречается задача, при которой нужно динамически добавить пункт в меню. Пусть это будет меню действий над постом.

В зависимости от ситуации там должны появляться или исчезать какие-то пункты.

Добавлять записи в меню — плохой вариант. Придется постоянно следить за ними, добавлять и удалять записи в БД. Сложно и это не наш путь.

Наш путь это взять хук 🙂

Хук называется wp_nav_menu_objects

Он позволяет перехватить список пунктов меню и сделать с этим списком что угодно. Поменять элементы или скажем добавить еще один. Что нам и нужно… Выглядит это примерно так:

[php]
add_filter( ‘wp_nav_menu_objects’, ‘ravs_add_menu_parent_class’ );

function ravs_add_menu_parent_class( $items ) {

$link = array (
‘title’ => ‘Cats’,
‘menu_item_parent’ => id of Animals menu like 1372,
‘ID’ => »,
‘db_id’ => »,
‘url’ => ‘www.google.com’
);

$items[] = (object) $link;
return $items;
}
[/php]

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

Закрыть меню
×

Корзина