Get featured image alt text wordpress - php

I'm trying to simple display the alt text for an image that is set in our WP library.
I tried this
<?php $image_id = get_post($id); ?>
<?php $image_alt = get_post_meta($image_id, '_wp_attachment_image_alt', true); ?>
<img class="photo" src="<?php echo the_post_thumbnail_url() ?>" alt="<?php echo $image_alt ?>"/>
But it isn't displaying the alt text when I do that. Anything I'm doing wrong?

If the image is the featured image and you see it correctly, try this:
<?php
$thumbnail_id = get_post_thumbnail_id( $post->ID );
$thumbnail_alt = get_post_meta( $thumbnail_id, '_wp_attachment_image_alt', true );
?>
<img class="photo" src="<?php echo the_post_thumbnail_url() ?>" alt="<?php echo $thumbnail_alt ?>"/>
Let me know if you can solve it

THIS WORKED FOR ME
The complete code I used to display the featured image with its alt text
<img src="<?php echo get_the_post_thumbnail_url(); ?>" alt="<?php echo get_post_meta( get_post_thumbnail_id(), '_wp_attachment_image_alt', true); ?> "/>
For the image src
<?php echo get_the_post_thumbnail_url(); ?>
For the alt text
<?php echo get_post_meta( get_post_thumbnail_id(), '_wp_attachment_image_alt', true); ?>
PS. Make sure you actually give your featured image some alt text in the backend.
Hope it helps someone in the future.

Related

How to hide alt tag output on page?

Please check the screenshot, let me know how to fix this issue...And you can see there's no image alt data in HTML.
Another thing is that if I use PHP in img src so I can't set width & height like (300 x 300). The output is a full-size image and if I use a static URL in img it works fine, how to deal with that?
<nav id="nav-single">
<?php
$prev_post = get_previous_post();
$id = $prev_post->ID ;
$permalink = get_permalink( $id );
$thumbnail = get_the_post_thumbnail( $id );
$image_alt = get_post_meta($thumbnail, '_wp_attachment_image_alt', true);
?>
<div class="pexel-previous-post-data">
<div class="pexel-previous-post-img">
<a href="<?php echo $permalink; ?>">
<img src="<?php echo $thumbnail; ?>" alt="<?php echo $image_alt; ?>" width="300" height="300">
</a>
</div>
<div class="pexel-previous-post-Text">
<span class="nav-previous"><?php previous_post_link( '%link', __( '<span class="meta-nav">←</span> Previous', 'twentyeleven' ) ); ?>
<h5 class="pxl_head--h5"><?php echo $prev_post->post_title; ?> </h5>
</span>
</div>
</div>
</nav>
Use get_the_post_thumbnail_url() to get post image url as get_the_post_thumbnail() returns html with img tag. get_the_post_thumbnail_url() will return only image url.
$thumbnail = get_the_post_thumbnail_url( $id );

Wordpress : ACF image not showinhttp://stackexchange.com/g correctly

I have an issue trying to display an image. I use last ACF
but not showing image
when i take look in html i get this :
<img src="2119, , , , , image/jpeg, /wp-content/uploads/2016/02/ef51d8e8f5cf684e7654f0ea4ab7ce33.jpg, 1024, 681, Array" alt="">
my name slug is hotes
<span><img src="<?php the_field('hotes',256); ?>" alt="" /><span>
the post meta for image is an array of data containing url, height, width etc.
based on the docs,
http://www.advancedcustomfields.com/resources/code-examples/
http://www.advancedcustomfields.com/resources/image/
you should be doing it like this,
<?php $image = wp_get_attachment_image_src(get_field('image_test'), 'full'); ?>
<img src="<?php echo $image[0]; ?>" alt="<?php echo get_the_title(get_field('image_test')) ?>" />
or this way,
<?php
$image = get_field('image');
if( !empty($image) ): ?>
<img src="<?php echo $image['url']; ?>" alt="<?php echo $image['alt']; ?>" />
<?php endif; ?>
or by using native get_post_meta function
$image = get_post_meta(get_the_ID(), 'hotes'); // Get Image Object
$image_url = $image['url']; // Retrieve image url

Get post thumbnails in Wordpress

This is the code to get the image for post thumbnail, but the image is not found on the page.
Please suggest some ideas.
<?php
add_theme_support( 'post-thumbnails' );
the_post_thumbnail();
set_post_thumbnail_size( 50, 50);
echo get_post(get_post_thumbnail_id())->post_excerpt; ?>
Try this one to get image path and then after pass that path to image scr.
<?php
$image_id = get_post_thumbnail_id($post->ID);
$image_url = wp_get_attachment_image_src($image_id,'large', true); ?>
<a href="<?php the_permalink(); ?>"><img src="<?php echo $image_url[0]; ?>" />
</a>
<?php
}
?>
Try to used
get_the_post_thumbnail( $post_id, 'thumbnail' );
If you want to get thumbnail with custom width and height then used below code
get_the_post_thumbnail( $post_id, array( 100, 100) );
In array first element for width and second for height.
try to pass post id in function
$post_id = get_the_ID();
get_the_post_thumbnail( $post_id, 'thumbnail' );
Try this bro
First Method:
<?php
$imgId = get_post_thumbnail_id($post->ID);
$imgUrl = wp_get_attachment_image_src($imgId,'your image size', true);
?>
<img src="<?php echo $imgUrl[0]; ?>" />
Second Method:
$post_id = get_the_ID();
get_the_post_thumbnail( $post_id, 'your image size' );
Hope you find your solution

Turning a submitted image from frontend into a link to its own source

This is a wordpress related question. I want to turn an image that was submitted via frontend submission form where you provide the external url into an image that links to its own source. For ex. http://i.imgur.com/7qmFBPa.jpg would be the end result of clicking on the image link. Heres what the php looks like at the moment:
<?php $image = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), 'single-post-thumbnail' ); ?>
<?php if ( has_post_thumbnail() ) { ?>
<div class = 'span4 reddit-image-single pull-left'>
<img src = "<?php echo $image[0]; ?>" width = "700px" class="img-rounded">
</div>
<?php }else{ ?>
<div class = 'span4 reddit-image-single pull-left'>
<img src = "<?php echo get_post_meta( $post->ID, 'wpedditimage', true ); ?>" width = "700px" class="img-rounded">
</div>
<?php } ?>
how do i go about modifying the above code? I'm fairly new to PHP.
wrap the image in tags with the url as the href
<?php $image = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), 'single-post-thumbnail' ); ?>
<?php if ( has_post_thumbnail() ) { ?>
<div class = 'span4 reddit-image-single pull-left'>
<img src = "<?php echo $image[0]; ?>" width = "700px" class="img-rounded">
</div>
<?php }else{ ?>
<div class = 'span4 reddit-image-single pull-left'>
<img src = "<?php echo get_post_meta( $post->ID, 'wpedditimage', true ); ?>" width = "700px" class="img-rounded">
</div>
<?php } ?>
This is the main line you want to look at
<img src = "<?php echo $image[0]; ?>" width = "700px" class="img-rounded">

How to get the WordPress post thumbnail (featured image) URL?

I am using this function to get the featured images:
<a href="#" rel="prettyPhoto">
<?php the_post_thumbnail('thumbnail'); ?>
</a>
Now I want to get the full featured image on click on the anchor tag for which I need a featured image URL in
<a href="here" rel="prettyPhoto">
How can I fix this?
Check the code below and let me know if it works for you.
<?php if (has_post_thumbnail( $post->ID ) ): ?>
<?php $image = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), 'single-post-thumbnail' ); ?>
<div id="custom-bg" style="background-image: url('<?php echo $image[0]; ?>')">
</div>
<?php endif; ?>
If you want JUST the source, and not an array with other information:
<?php $url = wp_get_attachment_url( get_post_thumbnail_id($post->ID), 'thumbnail' ); ?>
<img src="<?php echo $url ?>" />
// Try it inside loop.
<?php
$feat_image = wp_get_attachment_url( get_post_thumbnail_id($post->ID) );
echo $feat_image;
?>
Easy way!
<?php
wp_get_attachment_url(get_post_thumbnail_id(get_the_ID()))
?>
This perfectly worked for me:
<?php echo get_the_post_thumbnail_url($post_id, 'thumbnail'); ?>
I think this is the easiest solution and the updated one:
<?php the_post_thumbnail('single-post-thumbnail'); ?>
This is the simplest answer:
<?php
$img = get_the_post_thumbnail_url($postID, 'post-thumbnail');
?>
You can try this:
<?php
$feat_image = wp_get_attachment_url(get_post_thumbnail_id($post->ID));
echo $feat_image;
?>
Try this one
<?php
echo get_the_post_thumbnail($post_id, 'thumbnail', array('class' => 'alignleft'));
?>
I had searched a lot and found nothing, until I got this:
<?php echo get_the_post_thumbnail_url( null, 'full' ); ?>
Which simply give you the full image URL without the entire <img> tag.
Hope that can help you.
You can try this.
<?php
$image_url = wp_get_attachment_url( get_post_thumbnail_id($post->ID) );
?>
<a href="<?php echo $image_url; ?>" rel="prettyPhoto">
You can also get it from post_meta like this:
echo get_post_meta($post->ID, 'featured_image', true);
You can also get the URL for image attachments as follows. It works fine.
if (has_post_thumbnail()) {
$image = wp_get_attachment_image_src(get_post_thumbnail_id($post->ID), 'medium');
}
You will try this
<?php $url = wp_get_attachment_url(get_post_thumbnail_id($post->ID), 'full'); ?> // Here you can manage your image size like medium, thumbnail, or custom size
<img src="<?php echo $url ?>"
/>
<?php
if (has_post_thumbnail( $post->ID ) ):
$image = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), 'single-post-thumbnail' );
?>
<img src="<?php echo $image[0]; ?>">
<?php endif; ?>
If the post is an image and we already know what the image is, it's possible to get the thumbnail URL without too much hassle:
echo pathinfo($image->guid, PATHINFO_DIRNAME);
Simply inside the loop write <?php the_post_thumbnail_url(); ?> as shown below:-
$args=array('post_type' => 'your_custom_post_type_slug','order' => 'DESC','posts_per_page'=> -1) ;
$the_qyery= new WP_Query($args);
if ($the_qyery->have_posts()) :
while ( $the_qyery->have_posts() ) : $the_qyery->the_post();?>
<div class="col col_4_of_12">
<div class="article_standard_view">
<article class="item">
<div class="item_header">
<img src="<?php the_post_thumbnail_url(); ?>" alt="Post">
</div>
</article>
</div>
</div>
<?php endwhile; endif; ?>
if you want to fetch full image size from post thumbnail you can use this code.
$img_url = wp_get_attachment_image_url(get_post_thumbnail_id(get_the_ID()), 'full');
<img src="<?PHP echo $img_url?> ">
here, get_the_ID() is post id.
Use:
<?php
$image_src = wp_get_attachment_image_src(get_post_thumbnail_id($post->ID), 'thumbnail_size');
$feature_image_url = $image_src[0];
?>
You can change the thumbnail_size value as per your required size.
You can also get the URL for image attachments as follows:
<?php
"<div>".wp_get_attachment_url(304, array(50,50), 1)."</div>";
?>
You can get image src for specific size by wp_get_attachment_url function.
<?php
$url = wp_get_attachment_url( get_post_thumbnail_id($post->ID), 'full' );
?>
<img src="<?php echo $url ?>" />
<img src="<?php echo get_post_meta($post->ID, "mabp_thumbnail_url", true); ?>" alt="<?php the_title(); ?>" width ="100%" height ="" />

Categories