我正在使用Visual Composer开发WP站点。
在主页中,我插入了一个“Post Grid”元素,用于加载特定的自定义帖子类型。
此自定义帖子有多个自定义字段(使用“高级自定义字段插件”制作):其中一个字段是图像。
此Post Grid使用自定义网格显示这些自定义字段。
当我预览页面时,它会正确显示帖子拇指(帖子特色图片),一些文本自定义字段,但次要图像(使用自定义字段创建)仅显示文本(特定于数组对象或ID)图像)。
如何渲染图像?是否可以为该自定义字段插入一些代码(例如omg html标记)以避免文本呈现?
提前致谢, 弗朗西斯
答案 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>';
}