Динамически добавлять подменю элементы

Вопрос или проблема

Я смог добавить элементы меню с помощью этого выражения, но это создает плоское меню. Меню уже создано. Мне просто нужно добавить элементы.

    wp_update_nav_menu_item(4, 0, array('menu-item-title' =>  __($post_title), 'menu-item-url' => home_url("https://wordpress.stackexchange.com/".$url."https://wordpress.stackexchange.com/"), 'menu-item-status' => 'publish'));

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

Я нашел то, что искал, функция возвращает идентификатор нужного элемента меню.

    $my_menu_id = wp_update_nav_menu_item(4, 0, array('menu-item-title' => __($my_menu_title), 'menu-item-url' => home_url("https://wordpress.stackexchange.com/".$url."https://wordpress.stackexchange.com/"), 'menu-item-parent-id' => $my_menu_id, 'menu-item-status' => 'publish')); 

зная идентификатор меню, вы можете создавать подменю, привязанные к первому элементу меню, используя menu-item-parent-id

.

Ответ или решение

Для динамического добавления подпунктов меню в WordPress, вам необходимо использовать функцию wp_update_nav_menu_item(), как вы уже делали для добавления обычных пунктов меню. Ключевым моментом для создания иерархии (т.е. подпунктов) является параметр menu-item-parent-id, который позволяет указать родительский элемент для нового пункта меню.

Пошаговое руководство

1. Создание родительского пункта меню

Во-первых, убедитесь, что у вас уже есть родительский пункт меню, к которому вы хотите добавить подпункты. Используя ваш пример, предположим, что у вас есть ID меню, где вы добавляете элементы. Вот как вы можете создать родительский пункт меню:

$parent_item_id = wp_update_nav_menu_item(4, 0, array(
    'menu-item-title' => __('Родительский пункт'),
    'menu-item-url' => home_url('/parent-url'),
    'menu-item-status' => 'publish'
));

В переменной $parent_item_id теперь хранится ID только что созданного родительского пункта.

2. Добавление подпунктов

Теперь, когда у нас есть ID родительского пункта, мы можем приступить к добавлению подпунктов. Вы должны использовать параметр menu-item-parent-id, чтобы указать созданный ранее родительский пункт:

$child_item_id = wp_update_nav_menu_item(4, 0, array(
    'menu-item-title' => __('Подпункт 1'),
    'menu-item-url' => home_url('/parent-url/child-url-1'),
    'menu-item-status' => 'publish',
    'menu-item-parent-id' => $parent_item_id // Указываем родительский ID
));

$child_item_id_2 = wp_update_nav_menu_item(4, 0, array(
    'menu-item-title' => __('Подпункт 2'),
    'menu-item-url' => home_url('/parent-url/child-url-2'),
    'menu-item-status' => 'publish',
    'menu-item-parent-id' => $parent_item_id // Указываем родительский ID
));

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

3. Проверка структуры меню

После добавления элементов в меню можно проверить их структуру и корректность отображения на сайте. Для этого обновите страницу с меню в админке WordPress и убедитесь, что подпункты отображаются под родительским пунктом.

Заключение

Динамическое добавление подпунктов меню в WordPress является простым процессом, если использовать правильный подход с указанием menu-item-parent-id. Этот метод позволяет создать разнообразные иерархические структуры меню, которые могут улучшить навигацию на сайте. Убедитесь также, что ваши URL-адреса корректны, и применяйте методы SEO-оптимизации для улучшения видимости вашего сайта в поисковых системах.

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

Капча загружается...