将字段名称从 CFS wordpress 插件传递到 twig
Passing a field name from CFS wordpress plugin through to twig
所以我是 PHP 的新手,在传递字段名称时遇到了一些问题。
我正在使用自定义字段 (cfs) 并在 twig 中为 php 写作。
目前,我的 page.twig 中只有一个。这个想法是,如果在 Wordpress 中设置了图像,图像将显示在 page.twig 中设置的位置。
字段名称是header_image
{%if header_image %}
{{header_image}}
{% endif %}
使用 Timber 时,您可以轻松地将变量从 PHP 控制器传递到树枝视图。有两种方法可以做到这一点:
1) 在functions.php中,您可以将变量全局传递给上下文。 Timber Starter 主题中有这个供参考。您的 add_to_content
函数应如下所示:
function add_to_context( $context ) {
global $cfs;
$context['header_image'] = $cfs->get('header_image');
将 $context
视为一个巨大的变量,它通过您的变量进入实际视图。
记住: 这使您的变量可以全局访问,因此您需要为您的 CFS id 命名。例如 global_phone_number
.
2) 为了更好地构建代码,您应该通过该页面的控制器将变量传递给上下文。这有助于确保您不会传递未使用的变量。
在您的 page.twig 文件中,您需要添加:
$context['header_image'] = $cfs->get('header_image');
记住: $context 名称是您在 twig 文件中使用的名称,$cfs 名称是您在 Custom Field Suite 中的名称。
最后:
这个{% if header_image %}
很好,因为这个会检查一个变量是否已经设置,然后决定是否显示这个块。
但是,在 CFS 中,当上传图像时,它会让您选择 select File URL 或 Attachment ID.这意味着您需要在您的 twig 文件中处理这个结果。
例如,通过选择文件URL,您需要将{{header_image}}
输出为:
<img src="{{header_image}}" />
然后您可能还想根据 Wordpress 媒体库中设置的图像替代文本添加 alt 属性。
所以我是 PHP 的新手,在传递字段名称时遇到了一些问题。
我正在使用自定义字段 (cfs) 并在 twig 中为 php 写作。
目前,我的 page.twig 中只有一个。这个想法是,如果在 Wordpress 中设置了图像,图像将显示在 page.twig 中设置的位置。
字段名称是header_image
{%if header_image %}
{{header_image}}
{% endif %}
使用 Timber 时,您可以轻松地将变量从 PHP 控制器传递到树枝视图。有两种方法可以做到这一点:
1) 在functions.php中,您可以将变量全局传递给上下文。 Timber Starter 主题中有这个供参考。您的 add_to_content
函数应如下所示:
function add_to_context( $context ) {
global $cfs;
$context['header_image'] = $cfs->get('header_image');
将 $context
视为一个巨大的变量,它通过您的变量进入实际视图。
记住: 这使您的变量可以全局访问,因此您需要为您的 CFS id 命名。例如 global_phone_number
.
2) 为了更好地构建代码,您应该通过该页面的控制器将变量传递给上下文。这有助于确保您不会传递未使用的变量。
在您的 page.twig 文件中,您需要添加:
$context['header_image'] = $cfs->get('header_image');
记住: $context 名称是您在 twig 文件中使用的名称,$cfs 名称是您在 Custom Field Suite 中的名称。
最后:
这个{% if header_image %}
很好,因为这个会检查一个变量是否已经设置,然后决定是否显示这个块。
但是,在 CFS 中,当上传图像时,它会让您选择 select File URL 或 Attachment ID.这意味着您需要在您的 twig 文件中处理这个结果。
例如,通过选择文件URL,您需要将{{header_image}}
输出为:
<img src="{{header_image}}" />
然后您可能还想根据 Wordpress 媒体库中设置的图像替代文本添加 alt 属性。