【问题标题】:ACF Image as Product Feature ImageACF 图像作为产品特征图像
【发布时间】:2022-08-18 15:18:49
【问题描述】:

如何将通过高级自定义字段上传的图像设置为仅在单个产品页面上的该 woocommerce 产品的特色图像?

这就是我的设置方式:

步骤1:我创建了一个返回格式为 \'Image Array\' 的 ACF 图像字段。这是设置的屏幕截图。

ACF 图像字段设置

第2步:我创建了条件规则以仅在特定类别的产品上显示 ACF 输入字段。这样可行。在下面的屏幕截图中,您可以在产品页面上看到已上传图片的字段。

产品页面上的 ACF 图像字段,其中包含从媒体库上传的图像

第 3 步:现在这是我正在努力的部分。当用户查看产品页面时,我需要用上传的 ACF 图像替换 woocommerce 特色图像。 下面的屏幕截图显示了带有 woocommerce 特色图片的产品页面,但我想将其替换为我在第 2 步中上传的 ACF 图片。

前端的产品页面显示 Woo 特色图片,但我想用步骤 2 中上传的 ACF 图片替换它

所以我启用了 sn-ps 插件,我可以在其中添加代码以在前端(产品页面)上交换产品图像,但我需要代码方面的帮助。

任何帮助将不胜感激,谢谢!

我正在将 OceanWP 与 WooCommerce 一起使用。

  • 在您的产品模板中,用您的 acf 图像替换特色图像。没有更多信息,我只能为你做。
  • @MartinMircev 感谢马丁的回复。对不起,由于缺乏细节。我用屏幕截图和我为让它工作而采取的步骤更新了这个问题。谢谢你的帮助 :)

标签: woocommerce advanced-custom-fields


【解决方案1】:

如果您需要数组或 url 值,请在您的 ACF 字段中设置图像以返回 ID 或修改下面的函数。 将以下函数添加到您的活动主题 functions.php 文件中。

function test($html, $post_thumbnail_id ) {
    global $product;
    $categories = $product->get_category_ids();
    //Change 19 to the category id you need
    if (in_array('19', $categories)):
        //Change get_field to your field
        $post_thumbnail_id = get_field('custom_thumb');
        $html = wc_get_gallery_image_html( $post_thumbnail_id, true );
    endif;

    return $html;
}
add_filter( 'woocommerce_single_product_image_thumbnail_html', 'test',10,2);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-12-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-06
    • 2016-12-11
    • 2021-11-10
    相关资源
    最近更新 更多