【问题标题】:Linking to images in Timber / Twig using WordPress使用 WordPress 链接到 Timber / Twig 中的图像
【发布时间】:2021-03-18 18:17:12
【问题描述】:

我是 Twig 和 Timber 世界的新手,我刚刚开始了一份新工作,我很难掌握如何使用它。 我已经在 Twig 中提供了一个完整的设计,我已经将它转换为一个 wordpress 站点,我现在正试图通过 ACF 使其可编辑。在我的 front-page.php 中,我设置了以下内容:

$context['data'] = get_fields();

然后在我提供的设计的主页(树枝文件)中,这是一段代码:

{% include [
    'override/pullquote.twig', 
    'components/pullquote.twig'
    ] with {
    'title': data.my_story_title,
    'section_class': 'light pullquote-standalone text-center',
    'image': data.my_story_image, 
    'blockquote': data.my_story_quote,
    'cite': '',
    'link_footer': "Read Ramon's story",
    'link_path': '#',
} %}

所以我为 titleblockquote 创建了 ACF 选项,并使用 data.my_story_titledata.my_story_quote 这些工作正常。但是,data.my_story_image 没有,它什么也不做。我哪里错了?大概我必须用它和图像来扩展它,但我不确定如何。这可能是一件简单的事情 - 任何帮助将不胜感激。

谢谢你:)

【问题讨论】:

    标签: wordpress twig wordpress-theming timber


    【解决方案1】:

    ACF 通常会返回一个图像 ID,因此您可能需要将字段值转换为 TimberImage,然后再将其传递给模板。试试看:

    'image': Image( data.my_story_image )
    

    还有一些关于将 ACF 与 Timber/twig 结合使用的有用文档:https://timber.github.io/docs/guides/acf-cookbook/

    【讨论】:

    • 基于这个解决方案,它非常适合从 ACF 中提取,我将如何使用它从主题文件夹中提取?例如,对于普通的图片链接,这可以正常工作: 但是,当我如上所述使用它时,它不起作用:'image ':图片(“{{theme.link}}/assets/images/phone.svg”),我也试过不带括号。你知道我会怎么做吗?非常感谢您的帮助。
    • 它不起作用,因为您的资产在 WP 中不作为媒体项目记录存在。我假设您有一定数量的打算使用的资产,因此您可以使用条件语句将它们硬编码到模板中,即如果“图像”是“电话”,则使用设置路径,否则使用媒体项目
    • 您介意将我的初始答案标记为正确吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-09
    • 1970-01-01
    • 2020-08-31
    • 2018-03-17
    • 1970-01-01
    相关资源
    最近更新 更多