Wordpress Event插件events页如何添加参数化baseurl的自定义菜单链接
实现方案
该需求完全可实现,以下是三种不同复杂度的操作方案,可根据自身场景选择:
方案1:直接使用相对路径(最简方案,适配90%以上场景)
Wordpress原生支持自定义链接填写相对路径,渲染时会自动拼接站点根域名:
- 进入「外观>菜单」,选择添加自定义链接
- URL栏直接填写
/events,链接文本填你需要显示的菜单名(比如「活动」) - 保存菜单即可,后续更换站点域名无需修改配置
方案2:动态钩子替换(适配子目录安装、多站点等特殊场景)
如果站点是子目录部署、多站点切换等特殊场景,可通过代码动态生成链接保证兼容性:
- 先按方案1的步骤添加自定义链接,URL临时填写
#events-placeholder,添加到菜单后保存 - 右键检查该菜单项的前端HTML,找到类似
menu-item-123的CSS类名,其中数字123就是该菜单项的ID - 将以下代码添加到当前主题的
functions.php文件,或通过代码片段插件插入:
add_filter('nav_menu_link_attributes', function($atts, $item) { // 将下方的123替换为你自己的菜单项ID if ($item->ID == 123) { $atts['href'] = home_url('/events'); } return $atts; }, 10, 2);
- 保存后生效,代码会调用Wordpress原生
home_url()函数自动获取站点根地址,无需硬编码域名
方案3:开启隐藏菜单项选项(适配主流事件插件)
绝大多数主流事件插件(如The Events Calendar)默认已经注册了events归档页的菜单选项,只是默认隐藏:
- 进入「外观>菜单」,点击页面右上角的「显示选项」按钮
- 在显示的内容类型列表中,勾选「事件归档」或对应插件生成的内容类型选项
- 刷新页面后即可在左侧菜单可选列表中找到events页,直接添加即可,链接本身就是动态生成的,无需手动配置
内容的提问来源于stack exchange,提问作者arcee123
相关产品推荐
相关产品推荐

