Code lấy hình ảnh đầu tiên trong bài viết làm ảnh đại diện
Ả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ư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!!
Võ Quang Huy (Huy Kira)
Đam mê hóa học, ưng thi vào trường kinh tế... Đậu vào trường Sư phạm, quyết tâm đi dạy... Ra trường đi làm designer, tự học frontend, chuyển qua làm PHP, được công ty đào tạo laravel... Và hiện tại đang code react native(2015) => Fullstack ... ?? tối về viết blog... (Còn tiếp...)