Wordpress: Tự động lấy hình ảnh đầu tiên làm ảnh đại diện
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.
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!
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...)