I currently have a banner image on a site which is pulled in via the featured image. The code below that does this works:
if ( has_post_thumbnail() ) { $thumb = wp_get_attachment_image_src( get_post_thumbnail_id($post->ID), 'full' ); $url = $thumb['0'];
I would like to change this to use a custom field instead via Advanced Custom Fields. I have made a custom field called banner_image with the type as image url. I cannot seem to get this working however. I have tried the following methods:
Method 1
$image = get_field('banner_image', $post->ID); $url = $image['url'];
Method 2
$url = get_field('banner_image', $post->ID);
Method 3
$url = get_field('banner_image');
Full PHP Code:
<?php // Must be inside a loop. // This is the bit i cannot get working if(is_post(991)){ global $wp_query; $postid = $wp_query->post->ID; $url = get_post_meta($postid, 'banner_image1', true); //End the bit that doesn't work } elseif ( has_post_thumbnail() ) { $thumb = wp_get_attachment_image_src( get_post_thumbnail_id($post->ID), 'full' ); $url = $thumb['0']; } else { $bg = array( 'http://domain.co.uk/wp-content/uploads/2014/07/image.jpg', 'http://domain.co.uk/wp-content/uploads/2014/07/image1.jpg', 'http://domain.co.uk/wp-content/uploads/2014/07/image2.jpg', 'http://domain.co.uk/wp-content/uploads/2014/07/image3.jpg', 'http://domain.co.uk/wp-content/uploads/2014/07/image4.jpg' ); // array of filenames $i = rand(0, count($bg)-1); // generate random number size of the array $url = "$bg[$i]"; // set variable equal to which random filename was chosen } ?>
Does anyone have a method for doing this, I am just getting a blank page on that particular post. Other posts work fine so it isn’t breaking the code after elseif
?
Advertisement
Answer
If you are inside the loop, this works:
$image = get_field('banner_image'); <?php echo $image['url']; ?>