2016-01-12 9 views
2

Я сделал изображение добавить поле файла в по CMB2 METABOX какКак получить закачано расположение изображения URL на CMB2

$FF_side_settings->add_field(array(
     'name' => 'Upload background image', 
     'desc' => 'Upload an image or enter an URL.', 
     'id'  => 'ff_image_upload', 
     'type' => 'file', 
     // Optional: 
     'options' => array(
      'url' => true, 
      'add_upload_file_text' => 'Add image' 
     ), 
    )); 

Я хочу, чтобы получить расположение изображения и показать значение в моем ДИВ изображения фона URL

<div class="fun-bg " style='background-image: url("'.$image.'");'> 

Я использовал wp_get_attachment_image(get_post_meta(get_the_ID(), 'ff_image_upload', 1), 'medium'); для этого, но я не смог этого сделать. может кто-то пожалуйста, помогите мне, чтобы узнать, где моя проблема, пожалуйста, и исправить это ............

+0

является этим ключ 'gsff_image_upload' существует? – pgk

+0

ya, это идентификатор поля, я небрежно написал gs, я reedit мой пост сейчас –

ответ

1

OK wp_get_attachment_image() возвращает изображение метки:

<img src="image_src" ... /> 

в вашем случае вам нужно echo function return

<div class="fun-bg"> 
<?php echo wp_get_attachment_image(get_post_meta(get_the_ID(), 'ff_image_upload', 1), 'medium'); ?> 
</div> 

или получить только атрибут src, а не тег изображения сам.

EDIT: Я установил этот плагин и сделал некоторые тесты с изображениями metabolox.

Поэтому, когда вы добавляете изображение через этот плагин, он создает две записи в таблице после метрики. Первый - с metakey ff_image_upload_id со значением id сообщения (52 в моем случае), а второй - с ключом ff_image_upload и value = image_path.

get_post_meta(get_the_ID(), 'ff_image_upload', 1) вернет путь к изображению - http://host/site-name/wp-content/uploads/year/month/name.jpg

Это путь к исходному изображению, а не 'средний', 'эскиз' или что-то вроде

get_post_meta(get_the_ID(), 'ff_image_upload_id', 1) вернется post_id (52).

Если вы хотите использовать wp_get_attachment_image() для отображения изображения непосредственно, вы должны добавить пост идентификатор с id, так что вы должны использовать его так:

<?php echo wp_get_attachment_image(get_post_meta(get_the_ID(), 'ff_image_upload_id', 1), 'medium'); ?> 

Если вы хотите url изображения, это вернет url из medium изображений:

<?php wp_get_attachment_image_src(get_post_meta(get_the_ID(), 'ff_image_upload_id', 1), 'medium')[0]; ?> 
+0

извините, но его все еще ничего не показывали :( –

+0

проверить мой отредактированный ответ :) – pgk

+0

большое спасибо за его работу :) –

Смежные вопросы