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.
Return Return
(array)
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;
}
Changelog Changelog
| Version | Description |
|---|---|
| 3.1.0 | Introduced. |