Cách lấy ảnh đầu tiên từ host ngoài để làm ảnh Thumb cho bài viết WordPress

Nếu bạn đang sử dụng một Hosting cho WordPress có dung lượng lưu trữ ít thì đây là giải pháp cực hữu ích mà bạn nên thử qua.

Có một số bạn đã hỏi mình là làm thế nào để có thể “sống chung với lũ” hằng năm trời mà lại không sài hết… 100MB dung lượng Hosting được tài trợ sau hàng ngàn bài viết? Ah thì mình cũng nghiên cứu dữ lắm, nào là tối ưu rồi thay các thành phần lưu trữ trực tiếp từ Hosting ra Drive ngoài,… nhưng nhìn chung vẫn “dính” cái vụ ảnh thumb bài viết, và nó cũng chiếm kha khá dung lượng vì size mình đặt nội dung ảnh là phải tầm 640PX, nên tính ra một ảnh cũng gần 60KB. Hơi chua ha…

Vì thế mình quyết định tìm một hàm nào đó để Get ảnh từ Host ngoài làm ảnh thumb cho bài viết. Và mình đã tìm ra nhờ tác giả Devin Walker. Cũng không khó khăn gì mấy, cụ thể như sau:

Đầu tiên bạn thêm code sau vào Functions.php của theme mình đang dùng

function get_first_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”;
}
     return $first_img;
}

Sau đó chèn code vào khu vực tại Index.php để nó get ảnh đầu tiên của bài viết làm ảnh thumb bài

<img src=<?php echo get_first_image(); ?> alt=<?php echo get_the_title(); ?>/>

Đó là mã cơ bản, còn bạn muốn tùy chỉnh gì thêm thì cứ custom cho nó là được.

Đơn giản vậy thôi 🙂

Phản hồi bài viết

Từ khóa: