it-swarm.com.de

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