Mặc định của wordpress nếu không cài ảnh đại diện sẽ hiển khung ảnh trống hoặc không hiển thị gì ngoài trang web của bạn, việc hiển thị này làm cho web nhìn rất xấu và kém chuyên nghiệp. Ngoài ra không hiển thị ảnh sẽ làm web bị bể và hiển thị các lỗi rất khó xem, hôm nay mình hướng dẫn các bạn code tự động kiểm tra nếu không có ảnh đại điện, ảnh thumbnail sẽ tự lấy tấm ảnh đầu tiên trong bài viết làm ảnh đại diện cho web. Demo không up ảnh đại diện, wordpress tự động lấy ảnh đầu tiên trong bài viết làm ảnh đại diện. Cách làm: Mở tập tin functions.php themes của bạn ở đường dẫn: wp-content/themes/themes_cua_ban/functions.php. Bằng Notepad++ hoặc WordPad. chèn đoạn code dưới chuỗi <?php Mã: 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]; //kiem tra xem co ton tai ko? if(empty($first_img)) { $first_img = "/path/to/default.png"; } return $first_img; } Tiếp theo bạn mở vị trí muốn lấy hình đầu tiên trong bài viết làm ảnh bìa để chèn đoạn code sau vào trong themes của bạn, vì mỗi themes cấu hình hiển thị 1 cách khác nhau nên mình không chỉ vị trí chèn được: Mã: <?php if ( has_post_thumbnail() ) { the_post_thumbnail(); }else { ?> <img src="<?php echo get_first_image(); ?>" alt="<?php the_title(); ?>" /> <?php } ?> Kinh nghiệm: mình thường tìm với từ khóa the_post_thumbnail(); trong themes của mình và đổi code trên với the_post_thumbnail(); này.
cám ơn bạn đã chia sẻ nhưng mình thấy Wordpress của mình tự động lấy hình trong bài làm hình nền nên cứ tưởng mặc định nó là vậy rồi chứ.
Cái code đó có hết rùi ý em, nó có so sánh nếu có ảnh thumnail thì nó lấy thumnail còn không có ảnh thì nó lấy ảnh đầu tiên của bài viết, còn ảnh đầu tiên không có nó lấy ảnh null ý bạn. Code khá hay
- Ảnh trong bài viết mình thường để kích thước ngẫu nhiên. Mà ảnh đại diện các bài viết thì phải có kích thước giống nhau nên mình toàn phải chọn ảnh đại diện riêng. Chỉnh sửa cho về cùng 1 size. - Cách này của admin không áp dụng được cho mình rồi. Có cách nào để nó tự điều chỉnh cái ảnh đầu tiền về size như mình muốn không nhỉ.
Mình nghĩ ảnh đại diện khá quan trọng, nó sẽ đẹp hơn các tấm ảnh trong bài viết. Nên lúc nào cũng đặt Featured Image.