Shr*_*kCo 8 php wordpress custom-wordpress-pages twig timber
所以我遇到了一个twig/timber问题,我很难获得地点图像集,这是我到目前为止所遇到的问题:
{% set defaultimg = site.theme.link ~ '/images/placeimage.png' %}
Run Code Online (Sandbox Code Playgroud)
然后在我的代码中我有:
<img src="{{ post.thumbnail.src | default(defaultimg) | resize(360, 240)}}" class="card-img-top">
Run Code Online (Sandbox Code Playgroud)
post.thumbnail.src 可以很好地提取图像,但如果帖子中没有附加特色 Img,我希望defaultimg从我的自定义主题图像文件夹中提取图像。但目前这输出了一个非常错误的网址:
<img src="https://toolcart.local/wp-contentC:\Users\User\Local Sites\toolcart\app\public\wp-content\themes\toolcart-theme\images/placeimage-360x240-c-default.png" class="card-img-top">
Run Code Online (Sandbox Code Playgroud)
但是 a{{defaultimg}}正确输出图像 url。
https://toolcart.local/wp-content/themes/toolcart-theme/images/placeimage.png
Run Code Online (Sandbox Code Playgroud)
我不确定接下来要尝试什么?
这是定义路径的方式的问题twig/timber!非常奇怪的做事方式给项目增加了不必要的复杂性。
话虽这么说,根据他们的文档relative,您可以在变量末尾添加一个调用的过滤器defaultimg,该过滤器将绝对 URL 转换为相对 URL,最终输出默认图像的正确路径。
所以你的代码将是这样的:
{% set defaultimg = Image(site.theme.link ~ '/images/placeimage.png') | relative %}
Run Code Online (Sandbox Code Playgroud)
注意:
过滤| relative器将在这里发挥作用。
<img src="{{ post.thumbnail.src | default(defaultimg) | resize(360, 240)}}" class="card-img-top">
Run Code Online (Sandbox Code Playgroud)
我刚刚测试了代码,效果很好!让我知道你是否也可以让它工作!