WordPress wp_insert_post добавляет страницу в меню

Я добавляю несколько страниц в мой проект WordPress программно. Для этого я использую wp_insert_post () функция. Это прекрасно работает, однако. Страницы будут автоматически добавлены в меню. Для некоторых это хорошо, но одна из добавленных страниц мне не нужна.

Есть ли способ предотвратить это, не удаляя его вручную. Я думал об удалении его из меню после создания страницы, но я действительно не знаю, как, и, возможно, есть лучший / более простой способ сделать это?

Мой код для создания страницы:

    $inschrijfbevestiging = array(
'post_title'   => 'Inschrijfbevestiging',
'post_content' => '[inschrijfbevestiging]',
'post_status'  => 'publish',
'post_type'    => 'page'
);
wp_insert_post($inschrijfbevestiging);

0

Решение

Эта проблема возникает, когда ваше меню не установлено ранее для одного theme_location

Вы должны установить меню для этого theme_location так что это никогда не изменится автоматически.

0

Другие решения

1. Войдите в панель управления WordPress.

2. В меню «Внешний вид» в левой части панели инструментов выберите параметр «Меню», чтобы вызвать редактор меню.

3. Выберите Создать новое меню вверху страницы.

4.Введите имя для нового меню в поле «Имя меню».

5.Нажмите кнопку «Создать меню».

ссылка на сайт: https://codex.wordpress.org/WordPress_Menu_User_Guide

0

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

$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 );
}
0
По вопросам рекламы [email protected]