Ниже я привожу код, который я использовал для добавления ссылки на страницу «Избранное» в меню личного кабинета WooCommerce.
add_filter('woocommerce_account_menu_items', function ($items) {
$page_id = get_option('favorite_page_id');
if ($page_id) {
$url = esc_url(get_permalink($page_id));
add_filter(
'woocommerce_get_endpoint_url',
function ($url_input, $endpoint, $value, $permalink) use ($url) {
if ($endpoint === 'favorites') {
return $url;
}
return $url_input;
},
10,
4
);
// Удаляем favorites, если вдруг уже есть
unset($items['favorites']);
// Выносим последний элемент
$last = array_slice($items, -1, 1, true);
$items = array_slice($items, 0, -1, true);
// Вставляем favorites
$items['favorites'] = 'Избранное';
// Добавляем последний пункт обратно
$items += $last;
}
return $items;
});