如何将新的wp菜单项作为变量传递?

我使用此WP过滤器将新项目添加到菜单位置“主菜单”。


    $logo = 'my logo';

    function new_nav_menu_items($items, $args) {

        if($args->theme_location == 'main-menu') {

            $new_item = '<li class="spec"><a href="#"> $logo </a></li>';

            $items = $new_item.$items;

        }

        return $items;

    }

    add_filter('wp_nav_menu_items', 'new_nav_menu_items', 10, 2);


    wp_nav_menu(

    array(

        'theme_location' => 'main-menu',

        'depth' => '3',

        'link_before' => '<span>',

        'link_after' => '</span>',

        'echo' => true ,

        'items_wrap' => '<ul class="%2$s clearfix">%3$s</ul>',

    )

);

问题是过滤器返回带有新项目但值为空的主菜单。如果作为变量传递,他不会输出项目值(我的徽标)。


的PHP


哈士奇WWW
浏览 122回答 1
1回答

芜湖不芜

我通过传递我的价值与功能来解决它function my_logo() {&nbsp; &nbsp; $logo = 'my logo';&nbsp; &nbsp; return $logo;&nbsp;&nbsp;}function new_nav_menu_items($items, $args) {if($args->theme_location == 'main-menu') {&nbsp; &nbsp; $new_item = '<li class="spec"><a href="#"> my_logo() </a></li>';&nbsp; &nbsp; $items = $new_item.$items;}return $items;}add_filter('wp_nav_menu_items', 'new_nav_menu_items', 10, 2);
打开App,查看更多内容
随时随地看视频慕课网APP