4

Я работаю на сайте WP с Visual Composer.Отобразить изображение пользовательского поля в шаблоне пользовательской сетки Visual Composer

На домашней странице я вставил элемент «Post Grid», который загружает определенный пользовательский тип сообщения.

Этот пользовательский пост имеет несколько настраиваемых полей (сделанных с помощью дополнительного пользовательского поля): одно из этих полей - это изображение.

Эта сетка сообщений использует настраиваемую сетку для отображения этих настраиваемых полей.

Когда я просматриваю страницу, она корректно отображает сообщение (изображение, помеченное позицией), некоторые текстовые пользовательские поля, но вторичное изображение (созданное с помощью настраиваемого поля) отображает только текст (в конкретном объекте массива или ID изображения).

Как визуализировать изображение? Возможно ли вставить код для этого настраиваемого поля (например, тег omg html), чтобы избежать рендеринга текста?

Спасибо заранее, Francesco

ответ

0

Вы уверены, что вы используете точный код для извлечения изображения из опции Advance настраиваемого поля?

Вот точный код, который вам необходимо:

<?php 

$image = get_field('image'); 

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

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

<?php endif; ?> 

Просто замените этот идентификатор с собственным полем идентификатора, и он станет, как показано ниже:

get_field('your own field id'); 

Надежда, это имеет смысл, если вам все еще нужна помощь, дайте мне знать. Спасибо

1

У меня тоже есть эта проблема.

Откройте файл js_composer \ включать \ классы \ поставщиков \ Plugins \ ACF \ класс 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>'; 
     } 
    } 

Эта работа для поля изображения, вы можете сделать больше elses для других типов полей.

Вы можете увидеть мой файл и некоторую информацию здесь: https://github.com/ramonMontanhes/visualcomposer-acf

0

Откройте файл js_composer \ Include \ классы \ поставщиков \ Plugins \ ACF \ класс 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>'; 
    } 
Смежные вопросы