wordpress wp_insert_post将页面添加到菜单

时间:2018-09-26 06:47:05

标签: php wordpress custom-wordpress-pages wpmu

我正在以编程方式在我的WordPress项目中添加一些页面。为此,我正在使用wp_insert_post()函数。但是,这很好用。页面将自动添加到菜单。对于其中的一些来说不错,但是我不想在其中添加页面之一。

有没有一种方法可以防止这种情况,而无需手动将其删除。我本来是想在创建页面后将其从菜单中删除,但我真的不知道如何做,也许有更好/更简便的方法?

我用于创建页面的代码是:

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

3 个答案:

答案 0 :(得分:0)

如果您之前未将菜单设置为一个 theme_location

,则会出现此问题

您必须为此 theme_location 设置菜单,以使其永远不会自动更改。

答案 1 :(得分:0)

1。登录WordPress仪表板。

2。从仪表板左侧的“外观”菜单中,选择“菜单”选项以调出菜单编辑器。

3。选择页面顶部的创建新菜单

4。在“菜单名称”框中输入新菜单的名称

5。单击创建菜单按钮。

链接:https://codex.wordpress.org/WordPress_Menu_User_Guide

答案 2 :(得分: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 );
}