首页 > 解决方案 > 将 Wordpress 菜单项描述写入 Timber Twig 模板

问题描述

我在 wordpress 菜单屏幕选项中启用了菜单项描述,并为一些菜单项添加了描述。

有谁知道我如何让它们显示在 Timber Twig 模板中?

还有一个子问题:我假设在树枝部分之前我需要向functions.php添加一些东西 - 每当我尝试解决“将它添加到你的functions.php”并将其放入与 Timber Starter 主题一起提供的 functions.php 文件,我收到错误,大概是我将它粘贴在该文件的错误位置?在那里添加代码的安全地方在哪里?

标签: wordpresstwigtimber

解决方案


您可以使用 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');

在您的情况下,主要名称可以是不同的名称,具体取决于您注册/命名菜单的方式。


推荐阅读