Добавление JavaScript в главное меню - PullRequest
0 голосов
/ 12 декабря 2011

Я пытаюсь вставить javascript:void(0) в меню Wordpress, но оно изменяет ссылку на http://javascript:void(0).

Есть ли способ заставить меню содержать мой оригинальный JavaScript?

Ответы [ 2 ]

0 голосов
/ 15 июля 2015

Атрибуты меню экранируются до их рендеринга, и это причина, по которой javascript удаляется из ваших меню.

@ Ref https://github.com/WordPress/WordPress/blob/master/wp-includes/nav-menu-template.php#L146

Вы можете легко преодолеть это, переопределив Walker_Nav_Menu класс в вашем functions.php

Это не исправит ваши меню в WP-Admin, экранирующие javascript.Вы все еще можете использовать # в качестве URL-адреса, а затем заменить его на javascript:void(0), используя:

if ( !is_admin() ) add_filter( 'nav_menu_link_attributes', 'javascript_void_attr'), 10, 3 );

    function javascript_void_attr( $atts, $item, $args ){
        if ( isset($atts['href']) && $atts['href'] == '#' ){
            $atts['href'] = 'javascript:void(0)';
        }
        return $atts;
    }
0 голосов
/ 12 декабря 2011

вам нужно выполнить поиск по этой "wp_nav_menu ($ args);" функции WordPress или

http://codex.wordpress.org/Function_Reference/wp_nav_menu

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...