将特色图片和标题添加到wp_nav_菜单项

时间:2017-04-10 作者:red5

我非常喜欢Ahmad M的这个解决方案,但是我如何在标题之外添加图像,而不是替换标题呢?(抱歉,我对PHP和Stackexchange还是很陌生)。

Pulling Featured Images in to a WordPress Menu

我基本上明白了。我使用的是Ahmad m的过滤器,但需要将“..$menu\\u object->title”添加到缩略图中,所以现在它看起来像:

$menu_object->title = has_post_thumbnail($menu_object->object_id) ? get_the_post_thumbnail($menu_object->object_id, \'full\') .  $menu_object->title .  : $menu_object->title;
现在我面临的挑战是,我只想将其添加到第三级菜单项(父项的子项)。

1 个回复
SO网友:BlueSuiter

下面的代码将为您的导航栏的第三级提供特色图像。你必须通过nav-menu id 在内部wp_get_nav_menu_items(). 它会给你菜单列表(For more details).

<ul>
    <?php
        $navMenu = wp_get_nav_menu_items(9); /*/Pass Nav Menu_id or Name*/
        $previousMenuParent = $level = 0;
        foreach ($navMenu as $menu) {

            if($menu->menu_item_parent == 0)
            {
                $level = 0;
                echo \'<li><a href="\'. $menu->url .\'">\'. $menu->title .\'</a>\';
            }
            elseif($menu->menu_item_parent != \'\' && $menu->menu_item_parent != $previousMenuParent)
            {
                $level++;
                echo \'<ul class="submenu">\';
                echo \'<li><a href="\'. $menu->url .\'">\'. $menu->title .\'</a>\';
                $previousMenuParent = $menu->menu_item_parent;
            }
            elseif($previousMenuParent == $menu->menu_item_parent)
            {
                echo \'</li><li><a href="\'. $menu->url .\'">\';
                if($level == 3)
                {
                    echo get_the_post_thumbnail($menu->ID);
                }
                echo $menu->title .\'</a>\';
            }
        }
    ?>
    </li>
</ul>

相关推荐

用标准的干净文件替换NAV-menus.php文件?

我是一个自学成才的wordpress网站设计师,请原谅我的无知。我为一个客户开发的几个网站最近被一个印尼黑客组织破坏了(很有趣!)。客户端没有更新wordpress安装和其他一些危及安全的事情。遗憾的是,没有网站的清理备份。网络主机给了我一个包含恶意软件扫描结果的文本文件。看起来很多受影响的文件都是导航菜单。网站的php文件。文本文件中显示的扫描结果示例如下:“[主目录]/[网站文件夹名称]/wp includes/nav-menu.php:SL-php-INJECTOR-1-ejw.UNOFFICIAL