wordpress - 将 Wordpress 菜单项描述写入 Timber Twig 模板
问题描述
我在 wordpress 菜单屏幕选项中启用了菜单项描述,并为一些菜单项添加了描述。
有谁知道我如何让它们显示在 Timber Twig 模板中?
还有一个子问题:我假设在树枝部分之前我需要向functions.php添加一些东西 - 每当我尝试解决“将它添加到你的functions.php”并将其放入与 Timber Starter 主题一起提供的 functions.php 文件,我收到错误,大概是我将它粘贴在该文件的错误位置?在那里添加代码的安全地方在哪里?
解决方案
您可以使用 post_content 属性访问描述。
这是一个使用 Twig 构建菜单的示例 - 在 a-tags 中,您会看到 {{ item.title }} 菜单标签是什么,{{ item.post_content }}代表您的描述:
<nav id="menu" class="wrapper-menu-main">
<ul class="nav-main">
{% for item in main_menu.get_items %}
<li class="nav-main-item {{ item.classes | join(' ') }}">
<a class="nav-main-link" href="{{ item.get_link }}">{{ item.title }} {{ item.post_content }}</a>
{% if item.get_children %}
<ul class="nav-drop">
{% for child in item.get_children %}
<li class="nav-drop-item {{ child.classes | join(' ') }}">
<a class="nav-drop-link" href="{{ child.get_link }}">{{ child.title }}</a>
</li>
{% endfor %}
</ul>
{% endif %}
</li>
{% endfor %}
</ul>
此行中的main_menu:
{% for item in main_menu.get_items %}
是你的树枝菜单对象——它当然可以在你的代码中有不同的名称。
基本上你在你的function.php中不需要任何额外的东西你只需要用树枝来获取菜单对象,比如:
$context['main_menu'] = new TimberMenu('primary');
在您的情况下,主要名称可以是不同的名称,具体取决于您注册/命名菜单的方式。
推荐阅读
- azure - IoT Edge 代理上的日志轮换
- android - 使用 Firebase FCM 插件的 Cordova 项目的 Gradle 问题
- android-recyclerview - 在 ViewPager2 中带有 GridLayoutManager 的 RecyclerView
- schema.org - JSON-LD "@id" 可以用来链接到另一个网页上描述的项目吗?
- r - 如何使块的 Rmarkdown 格式符合折线?
- c# - 将 XPathEvaluate 与 If Then Else 一起使用
- unity3d - Unity Web 请求工作太慢,你知道吗?
- mysql - 在 MySQL 工作台中运行 SQL 时,此位置的 WHILE 输入无效
- java - 构造函数参数的优化
- linux - 使用ansible提示读取密码的问题