WC_Admin_Customize::register_customize_nav_menu_items( array $items = array(), string $type = '', string $object = '', integer $page )

Register account endpoints to customize nav menu items.


Description Description


Parameters Parameters

$items

(Optional) List of nav menu items.

Default value: array()

$type

(Optional) Nav menu type.

Default value: ''

$object

(Optional) Nav menu object.

Default value: ''

$page

(Required) Page number.


Top ↑

Return Return

(array)


Top ↑

Source Source

File: includes/admin/class-wc-admin-customize.php

		public function register_customize_nav_menu_items( $items = array(), $type = '', $object = '', $page = 0 ) {
			if ( 'woocommerce_endpoint' !== $object ) {
				return $items;
			}

			// Don't allow pagination since all items are loaded at once.
			if ( 0 < $page ) {
				return $items;
			}

			// Get items from account menu.
			$endpoints = wc_get_account_menu_items();

			// Remove dashboard item.
			if ( isset( $endpoints['dashboard'] ) ) {
				unset( $endpoints['dashboard'] );
			}

			// Include missing lost password.
			$endpoints['lost-password'] = __( 'Lost password', 'woocommerce' );

			$endpoints = apply_filters( 'woocommerce_custom_nav_menu_items', $endpoints );

			foreach ( $endpoints as $endpoint => $title ) {
				$items[] = array(
					'id'         => $endpoint,
					'title'      => $title,
					'type_label' => __( 'Custom Link', 'woocommerce' ),
					'url'        => esc_url_raw( wc_get_account_endpoint_url( $endpoint ) ),
				);
			}

			return $items;
		}

Top ↑

Changelog Changelog

Changelog
Version Description
3.1.0 Introduced.


Top ↑

User Contributed Notes User Contributed Notes

You must log in before being able to contribute a note or feedback.