【问题标题】:Wordpress ACF Plugin - wp_get_attachment_image function doesn't work with ACF Options Page?Wordpress ACF 插件 - wp_get_attachment_image 功能不适用于 ACF 选项页面?
【发布时间】:2019-01-16 10:11:48
【问题描述】:

我正在尝试使用wp_get_attachment_image WordPress 功能在前端显示图像资产,但它似乎不适用于我在 ACF 上的选项页面。

这是我的代码:

<?php

    $image = get_field('logo', 'option');
    $size = 'full'; // (thumbnail, medium, large, full or custom size)

    if( $image ) {

        echo wp_get_attachment_image( $image, $size );

    }

?>

在后端看起来像这样:

您在上面看到的图片是 ACF 中的选项页面,当我尝试将该图片查询到 wp_get_attachment_image 函数时,它不起作用。但是,当我运行此代码时:

<img data-src="<?php the_field('logo', 'option'); ?>" alt="footer logo" class="lazyload" />

在图像标签中,它工作得很好。

我复制并粘贴了位于 here(基本显示 ID)的 ACF 文档中显示的内容,但它没有在前端显示图像。

有什么我想念的吗?

非常感谢!

【问题讨论】:

  • 使用 wp_get_attachment_image_src 和 ID

标签: wordpress advanced-custom-fields


【解决方案1】:

字段中的返回值应为图像 ID。见截图

【讨论】:

    【解决方案2】:

    你使用的返回值类型是什么?图片数组、图片网址、图片ID

    你需要得到一个像这样的字段: get_field('标志');为什么要添加选项?

    更多信息在这里: https://www.advancedcustomfields.com/resources/image/

    【讨论】:

      【解决方案3】:

      wp_get_attachment_image 要求第一个参数是图像 ID。在您的情况下,如果您使用代码&lt;img data-src="&lt;?php the_field('logo', 'option'); ?&gt;" alt="footer logo" class="lazyload" /&gt; 查看图像,那么get_field('logo', 'option') 将返回图像的url。如果您使用wp_get_attachment_image,则不是您需要的ID。

      您需要做的是将徽标字段的返回值更改为图像 ID。 然后你可能需要重新上传图片。

      并将此代码 &lt;img data-src="&lt;?php the_field('logo', 'option'); ?&gt;" alt="footer logo" class="lazyload" /&gt; 更改为 &lt;img data-src="&lt;?php echo wp_get_attachment_url(get_field('logo', 'option')); ?&gt;" alt="footer logo" class="lazyload" /&gt;

      【讨论】:

        【解决方案4】:

        ACf 插件在你设置了返回类型后返回值。

        如果您已将返回类型作为图像数组发送,则:

        $image[0] -> full 或 $image[0][$full] 或 $image[$full] 取决于上传的图片数量。

        如果您已将返回类型设置为图片网址:

        <img src="<?php $image; ?>">  would do the work.
        

        如果您将返回类型设置为 Image Id:

        $img2 = wp_get_attachment_image_src(get_post_thumbnail_id($image), $全);回声 $img2[0];

        我想以上方法一定能帮到你。

        谢谢

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2020-11-23
          • 2017-03-16
          • 2019-03-14
          • 1970-01-01
          • 2019-03-10
          • 1970-01-01
          • 2019-11-25
          相关资源
          最近更新 更多