wc_nav_menu_items()
Hide or adjust menu items conditionally.
No Hooks.
Returns
Array.
Usage
wc_nav_menu_items( $items );
- $items(array) (required)
- Navigation items.
wc_nav_menu_items() wc nav menu items code WC 10.6.2
function wc_nav_menu_items( $items ) {
$logout_endpoint = get_option( 'woocommerce_logout_endpoint', 'customer-logout' );
if ( ! empty( $logout_endpoint ) && ! empty( $items ) && is_array( $items ) ) {
foreach ( $items as $key => $item ) {
if ( empty( $item->url ) ) {
continue;
}
$path = wp_parse_url( $item->url, PHP_URL_PATH ) ?? '';
$query = wp_parse_url( $item->url, PHP_URL_QUERY ) ?? '';
$is_logout_link = strstr( $path, $logout_endpoint ) || strstr( $query, $logout_endpoint );
if ( ! $is_logout_link ) {
continue;
}
if ( is_user_logged_in() ) {
$items[ $key ]->url = wp_nonce_url( $item->url, 'customer-logout' );
} else {
unset( $items[ $key ] );
}
}
}
return $items;
}