Muitas vezes é necessário no WooCommerce adicionar itens no menu da conta, como por exemplo algum formulário para devolução de produtos.
Veremos um exemplo que ilustra como é possível adicionar links personalizados a um menu de conta no WooCommerce e controlar a URL para que o link direcione o usuário para qualquer URL desejada. O WooCommerce nos disponibiliza os filtros necessários; tudo o que precisamos fazer é implementar essa solução em duas etapas:
Parte 1: Registrar o item de menu da conta no WooCommerce Primeiramente, é necessário registrar o ‘endpoint‘ (ponto final) do link e o texto do link no WooCommerce. Essas informações são fornecidas pela função wc_get_account_menu_items() quando a marcação do menu de conta é gerada. O WooCommerce pressupõe que estamos registrando uma subpágina de conta personalizada ou um ‘endpoint’ nesta etapa.
<?php
add_filter( 'woocommerce_account_menu_items', function ( $items, $endpoints ) {
$items['return'] = 'Devolução';
return $items;
}, 10, 2 );
Parte 2: Substituir a URL do item de menu Para alterar a URL do link, precisamos usar um filtro adicional. Isso nos permite redirecionar o usuário para qualquer destino que desejarmos.
<?php
add_filter( 'woocommerce_get_endpoint_url', function ( $url, $endpoint, $value, $permalink ) {
if ( $endpoint === 'return' ) {
$url = home_url( '/formulario-de-devolucao' );
}
return $url;
}, 10, 4 );
Com essas duas partes implementadas, você poderá adicionar um link personalizado chamado “Devolução” ao menu de conta do WooCommerce e redirecionar os usuários para a URL desejada quando eles clicarem nele. Isso proporciona flexibilidade ao integrar o WooCommerce com recursos personalizados.