开发者

Image Caption with the_post_thumbnail in WordPress

开发者 https://www.devze.com 2023-03-11 03:19 出处:网络
Is there a way to display the image caption where ever avail开发者_开发问答able when displaying the_post_thumbnail() image in WordPress on the posts in the primary loop.

Is there a way to display the image caption where ever avail开发者_开发问答able when displaying the_post_thumbnail() image in WordPress on the posts in the primary loop.

Thanks! Appreciate all the help.


Here is an easier and shorter code :

<?php the_post_thumbnail();
echo get_post(get_post_thumbnail_id())->post_excerpt; ?>


As of WordPress 4.6, the function the_post_thumbnail_caption() has been added to core (/wp-includes/post-thumbnail-template.php).

Using the code posted here will cause the error:

Fatal error: Cannot redeclare the_post_thumbnail_caption()


I figured it out:

/************************************************************\
* Fetch The Post Thumbnail Caption
\************************************************************/

function the_post_thumbnail_caption() {
  global $post;

  $thumbnail_id    = get_post_thumbnail_id($post->ID);
  $thumbnail_image = get_posts(array('p' => $thumbnail_id, 'post_type' => 'attachment'));

  if ($thumbnail_image && isset($thumbnail_image[0])) {
    echo $thumbnail_image[0]->post_excerpt;
  }
}


if(!function_exists('get_post_thumbnail_caption')) {
    function get_post_thumbnail_caption($post_id = null) {
        $post_id = ( null === $post_id ) ? get_the_ID() : $post_id;
        $thumbnail_id = get_post_thumbnail_id($post_id);
        if ($thumbnail = get_post($thumbnail_id))
            return $thumbnail->post_excerpt;
        return '';
    }
}

if(!function_exists('the_post_thumbnail_caption')) {
    function the_post_thumbnail_caption($post_id = null) {
        echo get_post_thumbnail_caption($post_id);
    }
}

if(has_post_thumbnail()) {
    the_post_thumbnail();
    the_post_thumbnail_caption();

    $caption = get_post_thumbnail_caption(123);
    if('' == $caption)
        echo '<div class="caption">'.$caption.'</div>';
}
0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号