Bootstrap Nav Walker子菜单图像

时间:2019-04-02 作者:WDCreativ

我想将图像添加到我的子菜单的每个项目中。

目前,我已经在wordpress管理仪表板的每个菜单项中添加了一个自定义css类,并在css中添加了如下类:

.menu-fildutemps::before{
content: url(\'myurl\') !important; }
但它并不适用于所有项目,只适用于第一个项目。

有人能帮我吗?

Bellow,我的导航代码输入header.php 如有必要:

    <nav class="navbar navbar-expand-lg navbar-light sticky-top">

    <a class="navbar-brand small" href="<?php echo home_url(); ?>">
        <!-- Image -->
        <?php 

        $image = get_field(\'logo_izarra\', \'options\');

        if( !empty($image) ): ?>

            <img src="<?php echo $image[\'url\']; ?>" class="logo-izarra" alt="<?php echo $image[\'alt\']; ?>" />

        <?php endif; ?>
        <!-- Image -->
    </a>

    <button class="navbar-toggler custom-toggler" type="button" data-toggle="collapse" data-target="#navbarNav" aria-controls="navmobile" aria-expanded="false" aria-label="Toggle navigation">
        <span class="navbar-toggler-icon"></span>
    </button>

    <div class="collapse navbar-collapse" id="navbarNav">
        <ul class="navbar-nav m-auto">


            <?php
                wp_nav_menu( array(
                \'theme_location\'  => \'top1\',
                \'menu\'            => \'top1\',
                \'depth\'           => 2, // 1 = no dropdowns, 2 = with dropdowns.
                \'container\'       => \'div\',
                \'container_class\' => \'collapse navbar-collapse\',
                \'container_id\'    => \'navbarNav\',
                \'menu_class\'      => \'navbar-nav m-auto\',
                \'fallback_cb\'     => \'WP_Bootstrap_Navwalker::fallback\',
                \'walker\'          => new WP_Bootstrap_Navwalker(),
            ) );

            ?>


            <a class="navbar-brand large" href="<?php echo home_url(); ?>">
                <!-- Image -->
                <?php 

                $image = get_field(\'logo_izarra\', \'options\');

                if( !empty($image) ): ?>

                    <img src="<?php echo $image[\'url\']; ?>" class="logo-izarra" alt="<?php echo $image[\'alt\']; ?>" />

                <?php endif; ?>
                <!-- Image -->
            </a>

            <?php
                wp_nav_menu( array(
                \'theme_location\'  => \'top2\',
                \'menu\'            => \'top2\',
                \'depth\'           => 2, // 1 = no dropdowns, 2 = with dropdowns.
                \'container\'       => \'div\',
                \'container_class\' => \'collapse navbar-collapse\',
                \'container_id\'    => \'navbarNav\',
                \'menu_class\'      => \'navbar-nav m-auto\',
                \'fallback_cb\'     => \'WP_Bootstrap_Navwalker::fallback\',
                \'walker\'          => new WP_Bootstrap_Navwalker(),
            ) );

            ?>


        </ul>
    </div>
</nav>

1 个回复
最合适的回答,由SO网友:Alexander Holsgrove 整理而成

是否希望每个菜单项具有相同的图像?

.menu-item a:before {
   content: url("/path/to/image.png");
   display: inline-block;
}
每个菜单项上都应该有一个ID<li>

li#menu-item-274 a:before {
    content: url("/path/to/another/image.png");
}
如果做不到这一点,您可以实现自己的引导Navwalker并添加您喜欢的任何类或图像。

请参见:https://developer.wordpress.org/reference/classes/walker/https://github.com/wp-bootstrap/wp-bootstrap-navwalker 了解如何创建自己的。

Update:根据您的评论,最后一个建议是Advanced Custom Field,以便可以针对每个菜单项添加图像字段。有关详细信息,请参阅此链接:https://www.advancedcustomfields.com/resources/adding-fields-menu-items/

相关推荐

Convert emoji to images

我有一个私有插件,可以导出所有没有“主题化”的帖子,所以输出的只是内容的html(帖子主题为H1,日期/时间为H2)。如果帖子包含表情符号,它会正确显示在主题页面上。但是如果我将HTML输出保存到一个文件中,表情符号会显示为&eth;&#159;&#153;&#129; 这些是UniCode字符(我想),我需要生成的HTML页面将表情符号显示为图形图像。创建HTML输出的代码使用标准WP\\u查询对象,然后在have\\u posts循环中输出内容:$thest