web-dev-qa-db-fra.com

Création d'un nouvel élément de menu

Je cherche un moyen de créer un nouvel élément pouvant être ajouté à un menu.

Voici les détails de mon problème: J'utilise WPML. WPML a cette fonctionnalité intéressante que vous pouvez ajouter le commutateur à un menu, automatiquement. Il l'ajoute à la fin du menu, aucun contrôle sur cela.

Le fait est que je veux que mon sélecteur de langue soit l'élément 4 sur 6. Cette fonctionnalité permettant d'ajouter automatiquement l'élément à la fin ne répond pas à mes besoins.

Je souhaite donc créer un nouvel élément pouvant être utilisé dans apparence-> menu afin de placer mon sélecteur de langue exactement à l'endroit où je le souhaite.

Y'a-t'il un quelconque moyen d'y arriver?

TLDR: Je veux pouvoir utiliser du code HTML/PHP personnalisé dans un élément de menu (Apparence-> Menu). Des fonctions pour le faire?

2
Fredy31

L'extrait de code suivant remplace l'élément de menu d'espace réservé du menu 'votre-menu'.

    add_filter( 'wp_nav_menu_items', 'add_item_to_menu', 10, 2 );
    function add_item_to_menu( $items, $args ) {
        if ( $args->theme_location == 'your-menu' ) {
                $link_text = "My Replaced Link Text";
                $link_url = "my-replaced-link-url.com";

                $items = str_replace( 'lang_placeholder_text', $link_text, $items);
                $items = str_replace( 'lang_placeholder_url', $link_url, $items);
        }

        return $items;
    }
1
ville6000