php - WordPress wp_nav_menu() 自定义和过滤
问题描述
晚上好,我正在尝试过滤 WordPress 的一些默认元素,wp_nav_menu()
并尝试根据我的样式表添加元素 - 请参阅下面的代码详细信息以了解用法和预期。
函数调用:
<nav class="demo-navigation mdl-navigation mdl-color--blue-grey-800">
<?php wp_nav_menu(); ?>
</nav>
当前结果:
<div class="menu-backend-menu-container">
<ul id="menu-backend-menu" class="menu">
<li id="menu-item-566" class="menu-item menu-item-type-post_type menu-item-object-page current-menu-item page_item page-item-529 current_page_item menu-item-566">
<a href="https://www.zony.ooo/users/data/" aria-current="page" data-ps2id-api="true">Data</a>
</li>
<li id="menu-item-571" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-571">
<a href="http://www.zone.ooo/users/blog/" data-ps2id-api="true">Blog</a>
</li>
预期结果
<nav class="demo-navigation mdl-navigation mdl-color--blue-grey-800">
<a class="mdl-navigation__link" href="https://www.zony.ooo/users/data/"><i class="mdl-color-text--blue-grey-400 material-icons" activerole="presentation">data</i>Data</a>
<a class="mdl-navigation__link" href="https://www.zony.ooo/users/blog/"><i class="mdl-color-text--blue-grey-400 material-icons" role="presentation">blog</i>Blog</a>
</nav>
它确实尝试了以下选项,但以错误的结果结束。任何帮助将不胜感激。
wp_nav_menu(array( 'menu' => '',
'container' => 'a',
'container_class' => '',
'container_id' => '',
'menu_class' => 'mdl-navigation__link',
'menu_id' => '',
'echo' => true,
'fallback_cb' => 'wp_page_menu',
'before' => '',
'after' => '',
'link_before' => '',
'link_after' => '',
'items_wrap' => '<ul id="%1$s" class="%2$s">%3$s</ul>',
'item_spacing' => 'preserve',
'depth' => 0,
'walker' => '',
'theme_location' => ''
));
解决方案
为此,您可以使用 walker 菜单。https://developer.wordpress.org/reference/classes/walker_nav_menu/。要添加类,您可以在 walker 代码中添加它。
推荐阅读
- python - 没有在 Django 中创建表单,但没有返回错误
- c++ - 如何在 linux 中使用 ncurses 创建全屏窗口?
- vuelidate - 如何使用 vuelidate 验证电子邮件地址?
- javascript - 如何解析包含数组的 JS 对象以在 JavaScript 的 json2csv 模块中使用?
- cuda - 我们可以在 cudaLaunchKernel 中获取 cuda 内核函数名称吗?
- json - 我们可以将外部 JSON 文件复制到雪花中吗?
- jspdf - JSPDF-autotable:根据列数设置动态字体大小
- c# - Microsoft bot V4 Skill Bot 在 SendActivityAsync 函数中回复 Root bot 时响应 500(内部错误)
- python-3.x - 如果其中一个产生结果,我可以停止等待线程完成吗?
- c# - 如何使用 GTA5 的 Scripthookvdotnet 在 C# 中每秒刷新变量的值