【问题标题】:Display a custom field image on Visual Composer Custom Grid Template在 Visual Composer 自定义网格模板上显示自定义字段图像
【发布时间】:2016-09-19 12:58:12
【问题描述】:

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

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

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

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

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

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

提前致谢, 弗朗切斯科

【问题讨论】:

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


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

      我也遇到了这个问题。

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

      这个工作是针对图像字段的,你可以对其他类型的字段做更多的else。

      您可以在此处查看我的文件和一些信息:https://github.com/ramonMontanhes/visualcomposer-acf

      【讨论】:

        【解决方案3】:

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

        这是您需要的确切代码:

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

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

        【讨论】:

          猜你喜欢
          • 2020-05-11
          • 1970-01-01
          • 1970-01-01
          • 2015-12-21
          • 1970-01-01
          • 1970-01-01
          • 2018-04-15
          • 2023-01-25
          • 1970-01-01
          相关资源
          最近更新 更多