在Visual Composer自定义网格模板

时间:2016-05-22 17:41:57

标签: wordpress custom-post-type advanced-custom-fields visual-composer

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

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

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

此Post Grid使用自定义网格显示这些自定义字段。

当我预览页面时,它会正确显示帖子拇指(帖子特色图片),一些文本自定义字段,但次要图像(使用自定义字段创建)仅显示文本(特定于数组对象或ID)图像)。

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

提前致谢, 弗朗西斯

3 个答案:

答案 0 :(得分:1)

我也遇到了这个问题。

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

并将此代码放入:返回之前,您可以对原始回复进行评论:

$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

答案 1 :(得分:0)

您确定使用的是精确代码来从高级自定义字段选项中获取图片吗?

以下是您需要的确切代码:

<?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');

希望,这是有道理的,如果你还需要任何帮助,请告诉我。感谢

答案 2 :(得分:0)

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

并将此代码放入:返回之前,您可以对原始回复进行评论:

     $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>';
     }