WordPress Ajouter javascript:void(0); à l’élément de lien de menu ?

Publié par Jean-Michel le

Je veux ajouter javascript:void(0);à l’élément de lien de menu au lieu de #mais il n’accepte aucun JavaScript. Maintenant, je suis quelque chose à remplacer #par javascript:void(0);l’utilisation de filtres, mais je n’ai pas trouvé le filtre approprié pour la tâche.

Quelqu’un peut-il me dire quel filtre peut être utilisé pour cette tâche.

Noter. Je sais que cela pourrait être fait avec javascript/jQuery, mais c’est à des fins de référencement, il faut donc le faire avec PHP côté serveur et rendre le code HTML correct pour google Spider, afin d’éviter les problèmes d’URL en double.

Solution n°1 trouvée

Méthode simple

La première chose que vous devez faire est d’ajouter un nouvel élément de menu dans votre menu. Vous pouvez le faire en allant dans Apparence » Menus. Vous souhaitez ajouter un lien personnalisé, alors donnez-lui l’étiquette que vous souhaitez. Dans le champ URL, entrez le signe #. Une fois terminé, cliquez sur le bouton Ajouter au menu. Enregistrez votre menu une fois ce lien personnalisé ajouté au menu. Ajouter un lien personnalisé au menu sans URL

Cliquez maintenant sur la flèche déroulante à côté de ce lien personnalisé pour modifier cet élément de menu. Allez-y et supprimez le signe dièse du champ URL et enregistrez votre menu. Si vous accédez à votre site Web en direct, vous verrez un élément de menu sans lien. Vous pouvez ajouter des sous-menus à cet élément de menu et les lier à n’importe quelle page ou lien personnalisé de votre choix. Suppression du signe # et création d’un menu sans aucun lien.

consultez ce lien pour plus de détails.

http://www.wpbeginner.com/beginners-guide/how-to-add-titles-in-wordpress-menu-without-linking-to-a-page/

Solution n°2 trouvée

Je ne sais pas comment cela affecte le référencement, mais juste pour répondre à cette question : –

Vous ne pouvez pas enregistrer l’élément de menu avec javascript:void(0);car WordPress filtre l’URL à l’aide de la fonction esc_url()supprimant ainsi les mauvaises valeurs. Et tout se passe dans la classe Nav Walker. Vous devez donc modifier l’URL lorsque WordPress a terminé le filtrage et renvoyé le code HTML final sécurisé.

Vous pouvez utiliser le filtre walker_nav_menu_start_elsi votre thème n’a pas de classe de marcheur de menu de navigation personnalisée OU a ce filtre dans la classe de marcheur.

Exemple:-

add_filter('walker_nav_menu_start_el', 'wpse_226884_replace_hash', 999);
/**
 * Replace # with js
 * @param string $menu_item item HTML
 * @return string item HTML
 */
function wpse_226884_replace_hash($menu_item) {
    if (strpos($menu_item, 'href="#"') !== false) {
        $menu_item = str_replace('href="#"', 'href="javascript:void(0);"', $menu_item);
    }
    return $menu_item;
}

Catégories : Wordpress

Jean-Michel

Jean-Michel est en charge de la partie blog du site. Il met en place la stratégie de contenu et répond aux questions fréquentes sur Wordpress.

0 commentaire

Laisser un commentaire

Avatar placeholder

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *