Вывод размера изображения ACF из таксономии

Я создал поле ACF для изображений в таксономии = категория сообщений. Я написал цикл, который выводит эти изображения и работает. Я добавил это внизу поста в качестве ссылки.

Теперь я хочу выбрать размер изображения, поэтому я попробовал более продвинутый метод, который использует wp_get_attachment_image (изложенный здесь: http://www.advancedcustomfields.com/resources/field-types/image/):

$attachment_id = get_field('field_name');
$size = "full"; // (thumbnail, medium, large, full or custom size) 
$image = wp_get_attachment_image_src( $attachment_id, $size );

Поэтому я изменил вышеизложенное на

$attachment_id = get_field('category_image', $taxonomy . '_' . $term->term_id);
$size = "full"; // (thumbnail, medium, large, full or custom size) 
$image = wp_get_attachment_image_src( $attachment_id, $size );

и на картинке добавлено

echo $image[0]

Но это выводит bool(false) и не работает. Есть идеи?

Вот код, который правильно выводит URL изображения в цикле.

<div class="category-image">
    <?php


    $taxonomy = 'category';
    $queried_term = get_term_by( 'slug', get_query_var($taxonomy), 0 );
    $terms = get_terms($taxonomy);


    if ($terms) {
      echo '<ul>';
      foreach($terms as $term) {

// ACF

$image = get_field('category_image', $taxonomy . '_' . $term->term_id);     

// TEST to see field    
// var_dump( $image );


if( get_field('category_image', $taxonomy . '_' . $term->term_id)):


?> <li><a href="<?php echo get_term_link($term->slug, $taxonomy) ?>"><img src="<?php echo $image['url'] ; ?>" alt="" /><h4><?php echo $term->name ?></h4></a></li>

<?php  endif; } ?>
</ul> </div>

person raison    schedule 29.10.2013    source источник


Ответы (1)


Похоже, у вас есть поле изображения, возвращающее объект (это хорошо), что означает, что вы можете решить эту проблему очень легко, вытащив URL нужного размера непосредственно из возвращенного объекта изображения, например так:

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

Объект, возвращаемый get_field('category_image'), выглядит следующим образом:

Array(
[id] => 540
[alt] => A Movie
[title] => Movie Poster: UP
[caption] => sweet image
[description] => a man and a baloon
[url] => http://localhost:8888/acf/wp-content/uploads/2012/05/up.jpg
[sizes] => Array
    (
        [thumbnail] => http://localhost:8888/acf/wp-content/uploads/2012/05/up-150x150.jpg
        [medium] => http://localhost:8888/acf/wp-content/uploads/2012/05/up-300x119.jpg
        [large] => http://localhost:8888/acf/wp-content/uploads/2012/05/up.jpg
        [post-thumbnail] => http://localhost:8888/acf/wp-content/uploads/2012/05/up.jpg
        [large-feature] => http://localhost:8888/acf/wp-content/uploads/2012/05/up.jpg
        [small-feature] => http://localhost:8888/acf/wp-content/uploads/2012/05/up-500x199.jpg
    ));

Источник: http://www.advancedcustomfields.com/resources/field-types/image/#template-usage

person Nate F.    schedule 08.11.2013