Я добавляю несколько страниц в мой проект WordPress программно. Для этого я использую wp_insert_post () функция. Это прекрасно работает, однако. Страницы будут автоматически добавлены в меню. Для некоторых это хорошо, но одна из добавленных страниц мне не нужна.
Есть ли способ предотвратить это, не удаляя его вручную. Я думал об удалении его из меню после создания страницы, но я действительно не знаю, как, и, возможно, есть лучший / более простой способ сделать это?
Мой код для создания страницы:
$inschrijfbevestiging = array(
'post_title' => 'Inschrijfbevestiging',
'post_content' => '[inschrijfbevestiging]',
'post_status' => 'publish',
'post_type' => 'page'
);
wp_insert_post($inschrijfbevestiging);
Эта проблема возникает, когда ваше меню не установлено ранее для одного theme_location
Вы должны установить меню для этого theme_location так что это никогда не изменится автоматически.
1. Войдите в панель управления WordPress.
2. В меню «Внешний вид» в левой части панели инструментов выберите параметр «Меню», чтобы вызвать редактор меню.
3. Выберите Создать новое меню вверху страницы.
4.Введите имя для нового меню в поле «Имя меню».
5.Нажмите кнопку «Создать меню».
ссылка на сайт: https://codex.wordpress.org/WordPress_Menu_User_Guide
Когда это происходит автоматически, вы можете удалить его из меню после создания страницы:
$objectWithPage = get_page_by_path('pageslug');
$menu_item_ids = wp_get_associated_nav_menu_items( $objectWithPage->ID, 'post_type' );
foreach ( (array) $menu_item_ids as $menu_item_id ) {
wp_delete_post( $menu_item_id, true );
}