wordpress wp_insert_post добавляет страницу в меню - PullRequest
0 голосов
/ 26 сентября 2018

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

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

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

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

Ответы [ 3 ]

0 голосов
/ 26 сентября 2018

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

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

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

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

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

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

0 голосов
/ 28 сентября 2018

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

$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 голосов
/ 26 сентября 2018

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

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

...