You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何禁用Timber\Menu的回退功能?

在Timber中禁用WordPress菜单回退功能的方法

Timber\Menu底层基于WordPress原生的wp_nav_menu()实现,因此你可以直接通过传递原生参数来禁用回退功能,以下是两种可行方案:

方法1:实例化Timber\Menu时传入fallback_cb参数

在PHP模板文件(比如functions.php或页面模板)中,实例化菜单时直接指定fallback_cb为false,和原生wp_nav_menu()的用法一致:

// 实例化主菜单并禁用回退
$primary_menu = new Timber\Menu(array(
    'theme_location' => 'primary',
    'fallback_cb' => false
));

// 将菜单传入Twig上下文
$context['primary_menu'] = $primary_menu;

当没有为primary主题位置分配菜单时,Timber不会生成默认的页面列表回退内容。

方法2:在Twig模板中判断菜单是否存在后再渲染

如果不想在PHP层修改,也可以在Twig模板里先检查菜单是否包含有效菜单项,再决定是否渲染:
首先在PHP中正常获取菜单:

$context['primary_menu'] = new Timber\Menu('primary');

然后在Twig模板中添加判断:

{% if primary_menu.items is not empty %}
    <nav class="primary-nav">
        {{ primary_menu.render }}
    </nav>
{% endif %}

这种方式会在菜单无有效内容时(包括触发回退的情况),不渲染导航区域。

需要注意的是,Timber\Menu的构造函数完全兼容wp_nav_menu()的参数列表,原生函数支持的参数基本都可以直接传入使用。

内容的提问来源于stack exchange,提问作者Hsins

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.23 09:02:12