Code:
// Note that your theme must support post thumbnails for this function to work. // If you are getting an error try adding add_theme_support('post-thumbnails'); to your functions. php file function vp_get_thumb_url($text, $size){ global $post; $imageurl=""; // Check to see which image is set as "Featured Image" $featuredimg = get_post_thumbnail_id($post->ID); // Get source for featured image $img_src = wp_get_attachment_image_src($featuredimg, $size); // Set $imageurl to Featured Image $imageurl=$img_src[0]; // If there is no "Featured Image" set, move on and get the first image attached to the post if (!$imageurl) { // Extract the thumbnail from the first attached imaged $allimages =&get_children('post_type=attachment&post_mime_type=image&post_parent=' . $post->ID ); foreach ($allimages as $img){ $img_src = wp_get_attachment_image_src($img->ID, $size); break; } // Set $imageurl to first attached image $imageurl=$img_src[0]; } // If there's no image attached or inserted in the post, look for a YouTube video if (!$imageurl){ // look for traditional youtube.com url from address bar preg_match("/([a-zA-Z0-9\-\_]+\.|)youtube\.com\/watch(\?v\=|\/v\/)([a-zA-Z0-9\-\_]{11})([^<\s]*)/", $text, $matches2); $youtubeurl = $matches2[0]; if ($youtubeurl) $imageurl = "http://i.ytimg.com/vi/{$matches2[3]}/1.jpg"; // look for YouTube embed else preg_match("/([a-zA-Z0-9\-\_]+\.|)youtube\.com\/(v\/)([a-zA-Z0-9\-\_]{11})([^<\s]*)/", $text, $matches2); $youtubeurl = $matches2[0]; if ($youtubeurl) // Get the thumbnail YouTube automatically generates // '0' is the biggest version, use 1 2 or 3 for smaller versions $imageurl = "http://i.ytimg.com/vi/{$matches2[3]}/1.jpg"; } // If there is no image attached to the post, look for anything that looks like an image and get that if (!$imageurl) { preg_match('/<\s*img [^\>]*src\s*=\s*[\""\']?([^\""\'>]*)/i' , $text, $matches); $imageurl=$matches[1]; } // If there is no youtube thumbnail, show a default image if (!$imageurl) { $imageurl= "http://killthebeat.com/wp-content/themes/buzznews/images/thumbz.jpg"; } // Spit out the image path return $imageurl; }
Chèn đoạn code sau vào nơi bạn muốn hiện ảnh thumbnails
Code:
<?php // Show featured image, or first image if no featured, or YouTube thumbnail if (function_exists('vp_get_thumb_url')) { // Set the desired image size. Swap out 'thumbnail' for 'medium', 'large', or custom size $thumb=vp_get_thumb_url($post->post_content, 'thumbnail'); if ($thumb!='') { ?> <div class="image_frame"> <a href="<?php the_permalink() ?>" title="<?php the_title(); ?>" rel="bookmark"><img class="homethumb" src="<?php echo $thumb; ?>" alt="<?php get_the_title(); ?>" /></a> </div> <?php } } ?>
P/s: Hàm trên là mình contact với admin của vietflava.com được hướng dẫn tận tình nhưng vẫn ko hiện thumb từ youtube dc, anh em nào test thử xem dc không nhé
No comments:
Post a Comment