首页 文章

在Visual Composer自定义网格模板上显示自定义字段图像

提问于
浏览
4

我正在使用Visual Composer在WP站点上工作 .

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

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

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

当我预览页面时,它正确显示了post thumb(post feature images),一些文本自定义字段,但是辅助图像(使用自定义字段创建)仅显示文本(特定于图像对象或图像的ID) ) .

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

在此先感谢Francesco

3 回答

  • 0

    我也遇到了这个问题 .

    打开文件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

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

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

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

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

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

相关问题