在wp_nav_menu ul中以li添加自定义语言选择器

问题描述

我一直在尝试将位于li内部的自定义语言选择器添加到我的wp_nav_menu()中。我想将其添加到“ items_wrap”中,但这样做会给我一个PHP语法错误(我将添加一个语法错误的图像)。我试图用'替换template_url周围的',但随后它在我的网站上显示为文本。另外,正如在我的网站上显示的那样,另一个问题是我的自定义语言选择器首先出现在导航中,但我希望它可以是菜单上的最后一个li项目。这可能有点令人困惑,因为我自己从未像这样制作过自定义语言选择器,所以可能会有更好的解决方案。我也曾尝试过,但我的自定义语言选择器不在PHP标签之列的问题,但问题在于它不在ul之内。

 <?PHP
        wp_nav_menu( array(
            'theme_location' => 'primary',// Defined when registering the menu
            'menu_id'        => 'primary-menu','container'      => false,'depth'          => 2,'menu_class'     => 'navbar-nav ml-auto','walker'         => new Bootstrap_NavWalker(),// This controls the display of the Bootstrap Navbar
            'fallback_cb'    => 'Bootstrap_NavWalker::fallback',// For menu fallback
            'items_wrap' => '<ul id="%1$s" class="%2$s"><li class="language nav-item dropdown">
                            <a class="nav-link dropdown" href="" id="dropdown09" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"><img src="<?PHP bloginfo('template_url'); ?>/img/eng.png">ENG<img src="<?PHP bloginfo('template_url'); ?>/img/downarrow.png"></a>
                            <div class="dropdown-menu" aria-labelledby="dropdown09">
                                <a class="dropdown-item" href=""><img src="<?PHP bloginfo('template_url'); ?>/img/eng.jpg">  EN</a>
                               <a class="dropdown-item" href=""><img src="<?PHP bloginfo('template_url'); ?>/img/rus.png">  RU</a>
                               
                            
                            </div>
                        </li>%3$s</ul>',) );
    
        ?>

syntax error

解决方法

每次添加<?php bloginfo('template_url'); ?>

时,您就关闭并打开它的字符串

您需要使用concatenation将这些值添加到字符串中。

因此,在您的情况下,您需要检查items_wrap元素并执行以下操作

'<a class="dropdown-item" href=""><img src="' . bloginfo('template_url') . '/img/rus.png">RU</a>'

如您所见,我正在使用'使用.关闭字符串,并添加了函数bloginfo('template_url')再次进行连接,然后完成字符串。