Wordpress自定义分类图像调整ACF

时间:2017-01-17 16:58:10

标签: php wordpress foreach advanced-custom-fields custom-taxonomy

我在Wordpress上创建了一个名为products的产品帖子类型,其自定义分类标准名为" product_categories"使用高级自定义字段(ACF)我在分类中添加了一个图像字段,以便能够将图像添加到每个产品类别。以下是我正在做的查询。它工作正常,但我想以自定义大小显示图像,因此它不会每次都加载一个巨大的2000x3000图像。这是我目前的代码:

<?php

$prodargs=array(  
    'hide_empty'        => 0,  
    'parent'        => 0,  
    'taxonomy'      => 'product_categories');  

    $prodcats=get_categories($prodargs);  

    foreach($prodcats as $pc){ 
        $termlink = get_term_link( $pc->slug, 'product_categories' ); 

?>

    <a class="single-library-cat" href="<?php echo $termlink; ?>">
        <img src="<?php the_field('taxonomy_image', 'product_categories_'.$pc->term_id); ?>" />
        <?php echo $pc->name; ?>
    </a>

<?php } ?>

我知道通过ACF我可以访问额外的图像数据,如尺寸,宽度高度。只是不确定我会将它实现到我的当前代码。 https://www.advancedcustomfields.com/resources/image/

1 个答案:

答案 0 :(得分:0)

1)在functions.php中使用add_image_size函数定义自定义大小并添加辅助方法

add_theme_support('post-thumbnails');
add_image_size( 'category', 250, 200, true );

function get_src_picture($id, $size)
{
    $thumb = wp_get_attachment_image_src($id, $size);
    return $thumb[0];
}

2)将图像acf字段的“返回值”属性更改为“图像ID” enter image description here

3)获取图像拇指

  <img src="<?= get_src_picture(get_field('taxonomy_image', 'product_categories_'.$pc->term_id), 'category') ?>" />