4

我正在使用 Visual Composer 开发 WP 网站。

在主页中,我插入了一个加载特定自定义帖子类型的“帖子网格”元素。

此自定义帖子有多个自定义字段(使用高级自定义字段插件制作):其中一个字段是图像。

此帖子网格使用自定义网格来显示这些自定义字段。

当我预览页面时,它正确显示帖子缩略图(帖子特色图像),一些文本自定义字段,但辅助图像(使用自定义字段创建)仅显示文本(在特定的数组对象或图像的 ID )。

如何渲染图像?是否可以为该自定义字段(例如 omg html 标签)插入一些代码以避免文本呈现?

在此先感谢弗朗切斯科

4

3 回答 3

1

我也遇到了这个问题。

打开文件 js_composer\include\classes\vendors\plugins\acf\class-vc-gitem-acf-shortcode.php

并把这段代码:在return之前,你可以注释原来的return:

$allFields = acf_get_fields($field_group);
    for ($i=0; $i < count($allFields); $i++) {
        if ( $field_key == $allFields[$i]['key'] && $allFields[$i]['type'] == 'image') {
            return '<div ' . $field_key . ' class="' . esc_attr( $css_class ) . '">'
                    . '<img src=" {{ acf' . ( ! empty( $field_key ) ? ':' . $field_key : '' ) . ' }} ">'
                 . '</div>';
        } else {
            return '<div ' . $field_key . ' class="' . esc_attr( $css_class ) . '">'
                    . '{{ acf' . ( ! empty( $field_key ) ? ':' . $field_key : '' ) . ' }}'
                 . '</div>';
        }
    }

这适用于图像字段,您可以对其他类型的字段进行更多操作。

你可以在这里看到我的文件和一些信息:https ://github.com/ramonMontanhes/visualcomposer-acf

于 2017-05-29T22:19:17.743 回答
0

打开文件 js_composer\include\classes\vendors\plugins\acf\class-vc-gitem-acf-shortcode.php

并把这段代码:在return之前,你可以注释原来的return:

     $f = get_field_object($field_key);


     if ( $f['type'] == 'image') {
         return '<div ' . $field_key . ' class="' . esc_attr( $css_class ) . '">'
                 . '<img src=" {{ acf' . ( ! empty( $field_key ) ? ':' . $field_key : '' ) . ' }} ">'
              . '</div>';
     } else {
         return '<div ' . $field_key . ' class="' . esc_attr( $css_class ) . '">'
                 . '{{ acf' . ( ! empty( $field_key ) ? ':' . $field_key : '' ) . ' }}'
              . '</div>';
     }
于 2017-11-15T06:13:12.123 回答
-1

您确定您正在使用确切的代码从高级自定义字段选项中获取图像吗?

这是您需要的确切代码:

<?php 

$image = get_field('image');

if( !empty($image) ): ?>

    <img src="<?php echo $image['url']; ?>" alt="<?php echo $image['alt']; ?>" />

<?php endif; ?>

只需将此 id 替换为您自己的字段 id,它将变为如下所示:

get_field('your own field id');

希望,这是有道理的,如果您仍然需要任何帮助,请告诉我。谢谢

于 2017-01-05T09:12:23.720 回答