Solución:
Por eso lo haces no Necesito modificar el woocommerce/templates/myaccount/navigation.php
.
La mejor forma de personalizar los elementos del menú de navegación “Mi cuenta” es utilizar:
-
woocommerce_account_menu_items
gancho de filtro para agregar nuevos elementos al menú. -
array_slice()
para reordenarlos de la manera que desee.
De esta manera, usando woocommerce_account_menu_items
gancho de filtro, usted integra perfectamente sus propios artículos al WC, de hecho:
- Posibilidad de redefinir sus propios puntos finales de artículos a través de la página de configuración de “Cuenta” de WC.
- WC actualiza automáticamente la URL del enlace del elemento cuando, por ejemplo, se realiza una modificación en la configuración / estructura del enlace permanente.
Ejemplo de código:
// Note the low hook priority, this should give to your other plugins the time to add their own items...
add_filter( 'woocommerce_account_menu_items', 'add_my_menu_items', 99, 1 );
function add_my_menu_items( $items ) {
$my_items = array(
// endpoint => label
'2nd-item' => __( '2nd Item', 'my_plugin' ),
'3rd-item' => __( '3rd Item', 'my_plugin' ),
);
$my_items = array_slice( $items, 0, 1, true ) +
$my_items +
array_slice( $items, 1, count( $items ), true );
return $my_items;
}
Nota 1: Aquí WC define automáticamente la URL del enlace de sus artículos. Para hacer eso, WC simplemente agrega el punto final del elemento definido en el filtro anterior a la URL de la página “Mi cuenta”. Así que defina los puntos finales de su artículo en consecuencia.
Nota 2: En su pregunta, parece que modificó la plantilla de WooCommerce directamente en el núcleo …
woocommerce/templates/myaccount/navigation.php
Cuando usted tengo que modificar una plantilla de WC, la forma correcta de hacerlo es duplicar la ruta de la plantilla relativo al woocommerce/templates
carpeta en su tema / plugin woocommerce
carpeta. Por ejemplo, en nuestro caso, tendría que pegar la plantilla en:
child-theme/woocommerce/myaccount/navigation.php
.