WC_Admin_Customize::register_customize_nav_menu_items
Register account endpoints to customize nav menu items.
Method of the class: WC_Admin_Customize{}
Hooks from the method
Returns
Array.
Usage
$WC_Admin_Customize = new WC_Admin_Customize(); $WC_Admin_Customize->register_customize_nav_menu_items( $items, $type, $object, $page );
- $items(array)
- List of nav menu items.
Default:array() - $type(string)
- Nav menu type.
Default:'' - $object(string)
- Nav menu object.
Default:'' - $page(int)
- Page number.
Changelog
| Since 3.1.0 | Introduced. |
WC_Admin_Customize::register_customize_nav_menu_items() WC Admin Customize::register customize nav menu items code WC 10.6.2
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;
}