Có lẽ nhiều bạn nghĩ rằng việc set ảnh feature image là phải vào mục set feature ảnh để làm ảnh đại diện, nhưng có một sự thật là khá nhiều bạn rất lười làm việc này, mình có làm một vài dự án cho một vài công ty, do số lượng bài viết nhiều, họ khá lười trong việc set hình ảnh đại diện này. Vì thế mình có một vài cách để hướng dẫn bạn set tự động hình ảnh này, bằng cách lấy hình ảnh đầu tiên trong bài viết để làm hình ảnh đại diện (featured image).
Nội dung bài viết
Tự động lấy ảnh đầu tiên của bài viết làm ảnh featured image
Cách 1: sử dụng code
Với cách này bạn cần phải hiểu biết một vài chi tiết về code của WordPress. Đầu tiên, bạn mở file functions.php và chèn code bên dưới vào dưới code của file hoặc trên cùng cũng được, miễn là bạn hiểu rằng code đã hoạt động (trường hợp sau khi chèn website bị trắng bóc nghĩa là bạn chèn không đúng chỗ)
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;
}
Trong đó /images/default.jpg là đường dẫn tới ảnh mặc định nếu không tìm thấy ảnh trên bài viết.
Cuối cùng bạn vào index.php và content.php (nếu trong bài viết có ảnh thumb) để thêm đoạn code này vào
Vậy là xong, ưu điểm của cách này là gọn nhẹ, không cần sử dụng thêm plugin, nhưng nhược điểm là thường có một số bạn làm không được, vì thế mình sẽ giới thiệu thêm cách 2
Cách 2: sử dụng plugin
Auto Post Thumbnail
Plugin này rất dễ sử dụng, khi bạn thêm plugin này vào, việc bạn làm là không gì cả, nó tự động tìm tới đường dẫn ảnh đầu tiên của bài viết vào set vào featured image.
Autoset Featured Image
Plugin này hoạt động cũng gần giống plugin trên, cách hoạt động vô cùng đơn giản, bạn không cần cấu hình gì nhưng plugin vẫn hoạt động rất ổn định
Video Thumbnails
Plugin này dành cho những bạn đang muốn làm trang video, để giúp cho người dùng có thể post video với tốc độ nhanh, hỗ trợ tất cả các trang video lớn trên thế giới. Chỉ cần tìm thấy video hoạt động trong bài viết, plugin này tự động bắt lấy hình ảnh thumbnails của video làm ảnh featured image cho bài viết đó
Lưu ý: Plugin hoặc code chỉ hoạt động tốt nếu hình ảnh đó nằm trên host của bạn, nếu bạn dùng link ngoài thì cần cấu hình lại một chút, mình sẽ dành thời gian đó cho một bài viết khác
Lời kết
Đây chỉ là một vài thủ thuật nho nhỏ để giúp bạn làm chủ ảnh featured image của wordpress, nếu bạn vẫn muốn làm cho blog phong phú hơn thì bạn nên set bằng tay. Cách này dùng cho những công ty không có thời gian để lựa chọn một hình ảnh khác
Bài viết rất hay, cámCác bác rảnh ghé thăm web mình nhé:nha5sao. com
Các bác có nhu cầu cầu hợp tác thiết kế về thẩm mỹ cho web thì liên hệ bên mình
Chao ban!
Mình cũng không biết code nên bị trường hợp “sau khi chèn website bị trắng bóc ” hix.hix
Bây giờ không biết gỡ sao đây!
Giúp mình với nhe!
tks bạn nhiều!
Chào bạn, bạn cho mình hỏi. Mình muốn post của mình có hiển thị ảnh thumbnail ở trang chủ, và vì vậy mình set cái featured image là được nhưng oái oăm là cái theme mình đang sử dụng (ColorMag) là mỗi lần vào post là nó lại xuất hiện cái feature images ở ngay đầu. Liệu mình có thể xóa cái feature image mà vẫn có ảnh thumbnail ở trang chủ được không? Cám ơn bạn nhiều!
Hay đấy!Cơ mà 2 plugin kia cái nào tốt hơn nhỉ?
Cảm ơn bài viết bạn đã chia sẽ, mình đã dùng được. Chúc bạn có nhiều bài hay nữa cho cộng đồng wp.
Đang loay hoay mãi không biết làm cách này tình cờ gặp được bài viết này khá hay thanhks bác nhé.
mình muốn xóa ảnh ở đầu bài viết mà trong hàm single.php không có thỳ phải lsao ?
mình đang dùng plugin Auto Post Thumbnail
Sao mình ko làm được nhỉ?
Cam on cu.njhieu nha ,kinh nghiem cua cu da giai quyet nhung van de,nhung cho minh hoi.
$args = array( ‘posts_per_page’ => 1 );
$lastposts = get_posts( $args );
foreach ( $lastposts as $post ) : code nay lay 1 bai viet nhung minh muon lay vi tri thu 2 gan nhat thi lam sao
$args = array( ‘posts_per_page’ => 1 );
$lastposts = get_posts( $args );
foreach ( $lastposts as $post ) : code nay no la hien thi 1 bai viet chu khong phai vi tri bai viet,help minh nha
Bạn nào thích nghiên cứu code khác thì ghé thăm HocWP nhé:
http://hocwp.net/guide/tu-dong-set-featured-image-cho-bai-viet/
mình dùng cái Autoset Featured Image và set enable Post rồi mà không thấy hoạt động nhỉ?
Bạn dùng thử thằng này nhé: Auto Post Thumbnail, cái của bạn mình chưa dùng nên cũng không rõ , hihi
Mình hiểu rồi! cái ảnh đó phải up lên host mình nó mới hoạt động lận! @@ zời……
Đúng rồi, còn muốn sử dụng ảnh từ host khác, bạn phải custom lại theme
Custom sao bạn? Chỉ mình với 😀
Chẵn lẽ cứ set fetured image là up hình lên host sao! 🙁
Plugin này sẽ hỗ trợ bạn, bạn không cần edit lại theme nữa nhé
http://wordpress.org/plugins/external-url-to-post-thumbnail/screenshots/
thanks để mình tes! 🙂
ok để mình làm thử! thanks bạn 😀
Nó sẽ lập lại ảnh trong post khi đọc luôn tính ra có 2 ảnh giống nhau thì làm như nào bạn? mình thử xóa code như trên google bảo mà nó mất ảnh đại diện luôn!@@
lặp lại ảnh, nghĩa là do theme bạn mặc định hiển thị lại hình ảnh feature trong post, bạn vào file Single.php tìm hàm feature image post và xóa nó đi là ok