wp_update_nav_menu_item example

'menu-item-type'        => $value['type'],
                'menu-item-title'       => $value['title'],
                'menu-item-url'         => $value['url'],
                'menu-item-description' => $value['description'],
                'menu-item-attr-title'  => $value['attr_title'],
                'menu-item-target'      => $value['target'],
                'menu-item-classes'     => $value['classes'],
                'menu-item-xfn'         => $value['xfn'],
                'menu-item-status'      => $value['status'],
            );

            $r = wp_update_nav_menu_item(
                $value['nav_menu_term_id'],
                $is_placeholder ? 0 : $this->post_id,
                wp_slash( $menu_item_data )
            );

            if ( is_wp_error( $r ) ) {
                $this->update_status = 'error';
                $this->update_error  = $r;
            } else {
                if ( $is_placeholder ) {
                    $this->previous_post_id = $this->post_id;
                    
'menu-item-position'    => ( isset( $_item_object_data['menu-item-position'] ) ? $_item_object_data['menu-item-position'] : '' ),
                'menu-item-type'        => ( isset( $_item_object_data['menu-item-type'] ) ? $_item_object_data['menu-item-type'] : '' ),
                'menu-item-title'       => ( isset( $_item_object_data['menu-item-title'] ) ? $_item_object_data['menu-item-title'] : '' ),
                'menu-item-url'         => ( isset( $_item_object_data['menu-item-url'] ) ? $_item_object_data['menu-item-url'] : '' ),
                'menu-item-description' => ( isset( $_item_object_data['menu-item-description'] ) ? $_item_object_data['menu-item-description'] : '' ),
                'menu-item-attr-title'  => ( isset( $_item_object_data['menu-item-attr-title'] ) ? $_item_object_data['menu-item-attr-title'] : '' ),
                'menu-item-target'      => ( isset( $_item_object_data['menu-item-target'] ) ? $_item_object_data['menu-item-target'] : '' ),
                'menu-item-classes'     => ( isset( $_item_object_data['menu-item-classes'] ) ? $_item_object_data['menu-item-classes'] : '' ),
                'menu-item-xfn'         => ( isset( $_item_object_data['menu-item-xfn'] ) ? $_item_object_data['menu-item-xfn'] : '' ),
            );

            $items_saved[] = wp_update_nav_menu_item( $menu_id$_actual_db_id$args );

        }
    }

    return $items_saved;
}

/** * Adds custom arguments to some of the meta box object types. * * @since 3.0.0 * * @access private * * @param object $data_object The post type or taxonomy meta-object. * @return object The post type or taxonomy object. */
foreach ( $auto_add as $menu_id ) {
        $items = wp_get_nav_menu_items( $menu_id, array( 'post_status' => 'publish,draft' ) );
        if ( ! is_array( $items ) ) {
            continue;
        }
        foreach ( $items as $item ) {
            if ( $post->ID == $item->object_id ) {
                continue 2;
            }
        }
        wp_update_nav_menu_item( $menu_id, 0, $args );
    }
}

/** * Deletes auto-draft posts associated with the supplied changeset. * * @since 4.8.0 * @access private * * @param int $post_id Post ID for the customize_changeset. */
if ( ! empty( $request['id'] ) ) {
            return new WP_Error( 'rest_post_exists', __( 'Cannot create existing post.' ), array( 'status' => 400 ) );
        }

        $prepared_nav_item = $this->prepare_item_for_database( $request );

        if ( is_wp_error( $prepared_nav_item ) ) {
            return $prepared_nav_item;
        }
        $prepared_nav_item = (array) $prepared_nav_item;

        $nav_menu_item_id = wp_update_nav_menu_item( $prepared_nav_item['menu-id']$prepared_nav_item['menu-item-db-id']wp_slash( $prepared_nav_item ), false );
        if ( is_wp_error( $nav_menu_item_id ) ) {
            if ( 'db_insert_error' === $nav_menu_item_id->get_error_code() ) {
                $nav_menu_item_id->add_data( array( 'status' => 500 ) );
            } else {
                $nav_menu_item_id->add_data( array( 'status' => 400 ) );
            }

            return $nav_menu_item_id;
        }

        $nav_menu_item = $this->get_nav_menu_item( $nav_menu_item_id );
        
Home | Imprint | This part of the site doesn't use cookies.