Grav技术问题:在Twig中使用shortcodes插件无法输出内容
解决Grav Shortcodes插件调用Partial后不输出短代码内容的问题
我之前在Grav里用shortcodes插件时也碰到过一模一样的情况,给你几个实用的排查和解决方向:
确认插件已正确启用
安装插件后别忘了在Grav后台的「Plugins」页面里把shortcodes插件设为激活状态,或者手动检查user/config/plugins/shortcodes.yaml文件,确保enabled: true,同时看看有没有其他配置项意外禁用了短代码解析功能。检查页面的内容处理配置
有些页面的frontmatter可能会覆盖全局设置,导致短代码不被解析。打开你的页面文件,看看顶部的YAML配置里有没有类似这样的内容:process: markdown: false shortcodes: false如果有,把
shortcodes改成true,或者直接删掉这一行(继承全局配置)。确保Partial中的内容经过短代码解析
如果你是在Twig模板里调用partial,要注意传递的内容是否已经被短代码过滤器处理过。比如:- 如果你是直接传递页面内容,试试在调用时加上过滤器:
{% include 'partials/my-partial.html.twig' with { 'content': page.content|shortcodes } %} - 如果是在partial内部处理内容,也要确保对输出的内容应用
|shortcodes过滤器:{{ content|shortcodes }}
- 如果你是直接传递页面内容,试试在调用时加上过滤器:
验证短代码语法正确性
检查你使用的短代码标签是否符合插件要求,有没有拼写错误、闭合错误(比如需要[shortcode][/shortcode]的成对标签有没有漏写闭合部分)。如果是自定义短代码,还要确认是否已经正确注册到插件中。清除Grav缓存
Grav的缓存有时候会“卡住”修改,导致新配置或代码不生效。可以通过后台的「Tools」→「Clear Cache」功能清空缓存,或者在项目根目录执行命令:bin/grav clear-cache之后刷新页面再测试。
内容的提问来源于stack exchange,提问作者M.E.
相关产品推荐
相关产品推荐

