Code lấy hình ảnh đầu tiên trong bài viết làm ảnh đại diện

17/04/2016 Wordpress 10187 lượt xem
Lưu bài viết

Ảnh đại diện của mỗi bài viết trong website wordpress giúp nâng cao thẩm mỹ khi hiện thị bài viết, một phần nó cũng giúp cho bài viết seo tốt hơn.

Ảnh đại diện trong wordpress

Nhưng trong quá trình viết bài chúng ta rất hay quên việc này, đôi khi nó lại gây mất thời gian, vì vậy để khắc phục điều này hôm nay mình sẽ share cho các bạn đoạn code giúp tự động lấy hình ảnh đầu tiên làm ảnh đại diện của mỗi bài viết.

Code này có ưu điểm:

Lấy hình ảnh đầu tiên trong bài viết làm ảnh đại diện, khi ko có ảnh đại diện sẽ hiển thì hình ảnh mặt định, lấy ảnh từ bất kì nguồn nào khi bạn copy bài viết!

Nhược điểm:

Vì tự động lấy hình tự động nên mình ko thể tùy chỉnh kích thước hình ảnh, cũng như ko thể thay đổi tên file ảnh:

Sau đây là đoạn code tự động lấy ảnh đầu tiên trong bài viết làm ảnh đại diện. Các bạn copy đoạn code này dán vào file functions.php của theme nhé:

function catch_that_image() {
  global $post, $posts;
  $first_img = '';
  ob_start();
  ob_end_clean();
  $output = preg_match_all('/<img.+src=[\'"]([^\'"]+)[\'"].*>/i', $post->post_content, $matches);
  $first_img = $matches [1] [0];
 
  if(empty($first_img)){ //Defines a default image
    $first_img = "/images/default.jpg"; //Duong dan anh mac dinh khi khong tim duoc anh dai dien
  }
  return $first_img;
}

Cách dùng: Chèn đoạn code này vào vị trí muốn Ảnh đại diện xuất hiện

<img src="<?php echo catch_that_image() ?>" />

Ngoài cách tự code chức năng trên bạn có thể sử dùng plugin để làm công việc trên như

Auto Post Thumbnail

Có thắc mắc chi xin cmt phía dưới! Chúc các bạn thành công!!