wake-up-neo.com

So ändern Sie das Navigationsmenü der Seite "Mein Konto" in WooCommerce

Ich möchte das Navigationsmenü auf der linken Seite von WooCommerce "Mein Konto" ändern.

Dafür habe ich Änderungen im woocommerce/templates/myaccount/navigation.php vorgenommen. Die Probleme bei diesem Ansatz sind:

  • Ich kann die neuen Elemente only an der ersten oder letzten Position im Menü hinzufügen. Ich würde sie stattdessen auf der 2. und 3. Position brauchen ....
  • Wenn das WC aktualisiert wird, kann es sich ändern ...

Wie kann ich das WooCommerce-Navigationsmenü "Mein Konto" nach Belieben anpassen?

 enter image description here 

2
Dhruvang Gajjar

Dafür müssen Sie nicht den woocommerce/templates/myaccount/navigation.php ändern.

Der beste Weg, um die Navigationsmenüpunkte von "Mein Konto" anzupassen, ist:

Auf diese Weise können Sie mit woocommerce_account_menu_items filter hook perfect Ihre eigenen Artikel in das WC integrieren, in der Tat:

  • Möglichkeit zur Neudefinition Ihrer eigenen Artikelendpunkte über die Einstellungsseite des WC-Kontos.
  • WC aktualisiert automatisch die URL des Element-Links, wenn beispielsweise Änderungen an den Einstellungen/der Struktur des Permalinks vorgenommen werden.

Codebeispiel:

// 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;
}

Anmerkung 1 : Die URL des Links Ihrer Artikel wird automatisch von WC hier definiert. Dazu hängt WC einfach den im Filter oben definierten Artikelendpunkt an die Seiten-URL "Mein Konto" an. Definieren Sie daher Ihre Artikelendpunkte entsprechend.

Anmerkung 2 : In Ihrer Frage scheint es, als hätten Sie die WooCommerce-Vorlage direkt im Kern geändert ...
woocommerce/templates/myaccount/navigation.php
Wenn Sie eine WC-Vorlage ändern müssen , müssen Sie den Pfad der Vorlage relativ zum Ordner woocommerce/templates in den Ordner woocommerce Ihres Themes/Plugins kopieren . In unserem Fall müssten Sie beispielsweise die Vorlage einfügen in:
child-theme/woocommerce/myaccount/navigation.php.

14
ClemC