Wordpress: Tự động lấy hình ảnh đầu tiên làm ảnh đại diện

25/11/2014 Thủ thuật web 5708 lượt xem
Lưu bài viết

WordPress có chức năng cho chúng ta chọn hình ảnh bất kỳ nào đó để đặt làm hình đại diện cho bài viết! Bằng cách vào mục Featured Image.

HuyKira.Net--Featured_News_Image

Nhưng hôm nay mình xin chia sẻ cho các bạn một thủ thuật nhỏ, giúp lấy hình ảnh đầu tiên trong bài viết của mình làm hình đại diện. Mục đính của cách làm này là giúp bạn đỡ thời gian, và tiết kiệm băng thông cũng như dung lượng host.

Đầu tiên bạn mở file functions.php nằm trong themes của bạn, sau đó chèn đoạn code sau vào giữa cặp thẻ <?php ?>.

/** Get The First Image From a Post **/
 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)) {
    $first_img = get_template_directory_uri()."/images/no_images.jpg";/** Hình ảnh mặc định khi trong bài viết không có bất kỳ hỉnh ảnh nào. **/
  }
  return $first_img;
}

Để sử dụng chúng ta chỉ cần chèn đoạn code sau vào nơi cần hiển thị:

<a href="<?php the_permalink(); ?>">
    <?php
       echo '<img src="' . catch_that_image() . '"/>';
    ?>
</a>

Đến đây là các bạn đã có hình ảnh đại diện bài viết như ý muốn mà lại không tốn thời gian cũng như dung lượng host.

Cảm ơn bạn!