yanknudtskov
5/23/2014 - 11:32 AM

Get image tag through an Advanced Custom Field Image Object with parameters.

Get image tag through an Advanced Custom Field Image Object with parameters.

<?php
function va_string_is_null_or_empty($string) {
    return (!isset($string) || trim($string) === '');
}

function va_get_acf_imagetag_from_image_object( $image_object_fieldname, $image_size = '', $is_option_field = false, $is_sub_field = false ) {

    $image_size = '';
    $image_width = '';
    $image_height = '';
    $image_object = '';

    if(va_string_is_null_or_empty($image_object_fieldname))
    {
        return _e('Error: field name is not set', 'custom_theme');
    }

    if($is_option_field)
    {
        if($is_sub_field)
        {
            if(!get_sub_field($image_object_fieldname, 'option'))
            {
                return _e('Error: OPTION sub_field named "'. $image_object_fieldname . '" is not set', 'custom_theme');
            }

            $image_object = get_sub_field($image_object_fieldname, 'option');
        }
        else
        {
            if(!get_field($image_object_fieldname, 'option'))
            {
                return _e('Error: OPTION field named "'. $image_object_fieldname . '" is not set', 'custom_theme');
            }

            $image_object = get_field($image_object_fieldname, 'option');
        }
    }
    else
    {
        if($is_sub_field)
        {
            if(!get_sub_field($image_object_fieldname))
            {
                return _e('Error: sub_field named "'. $image_object_fieldname . '" is not set', 'custom_theme');
            }

            $image_object = get_sub_field($image_object_fieldname);
        }
        else
        {
            if(!get_field($image_object_fieldname))
            {
                return _e('Error: field named "'. $image_object_fieldname . '" is not set', 'custom_theme');
            }

            $image_object = get_field($image_object_fieldname);
        }
    }

    if( !empty($image_object) )
    {
        if(!va_string_is_null_or_empty($image_size))
        {
            $image_size = $image['sizes'][ $image_size ];
            $image_width = $image['sizes'][ $image_size . '-width' ];
            $image_height = $image['sizes'][ $image_size . '-height' ];

            return '<img src="' .$image_size . '" title="' . $image_object['title'] . '" alt="' . $image_object['alt'] . '" width="' . $image_width . '" height="' . $image_height . '" />';
        }
        else
        {
            return '<img src="' . $image_object['url'] . '" title="' . $image_object['title'] . '" alt="' . $image_object['alt'] . '">';
        }
    }
    else
    {
        return _e('Error: image_object is not set', 'custom_theme');
    }
}
?>