Tôi đang làm việc để xây dựng một chủ đề tùy chỉnh và đã đấu tranh với chủ đề này một chút. Tôi đang cố gắng sửa đổi đầu ra HTML của the_post_thumbnail();
chức năng. Tôi cần phải làm điều này bởi vì tôi đang cố gắng hỗ trợ hình ảnh võng mạc trên trang web của mình và thà nướng chức năng vào chủ đề của tôi hơn là tải một plugin trên phụ trợ.
Theo mặc định, the_post_thumbnail();
chỉ đơn giản là các cuộc gọi get_the_post_thumbnail();
mà tôi tìm thấy ở đây . Suy nghĩ đầu tiên của tôi là cắm vào bộ lọc ' post_thumbnail_html ', nhưng dường như tôi không thể làm cho nó hoạt động được. Vì thế...
Đây là cách tôi gọi hình thu nhỏ bài đăng của mình trong vòng lặp:
<?php the_post_thumbnail('custom-thumbnail-size', array('class' => 'unique-class-here', 'title' => 'unique-title-here')); ?>
Đây là mã tôi cần đầu ra khi tôi gọi the_post_thumbnail();
...
<img src="" alt="" data-src="image.png" data-alt="Alt text" class="retina unique-class-here" />
Và đoạn mã dưới đây là những gì tôi hiện có trong tệp tin.php.
<?php
function modify_post_thumbnail_html($html, $post_id, $post_thumbnail_id, $size, $attr) {
$src = wp_get_attachment_image_src(get_post_thumbnail_id(), $size);
$html = '<img src="" alt="" data-src="' . $src['0'] . '" data-alt="" class="retina" />';
return $html;
}
add_filter('post_thumbnail_html', 'modify_post_thumbnail_html', 99, 5);
?>
Một vài điều cần lưu ý. Tôi không chắc chắn làm thế nào để chuyển văn bản siêu dữ liệu phù hợp trong thuộc tính 'data-alt'. Ngoài ra, tôi cần có thể vượt qua kích thước post_thumbnail cụ thể mà tôi cần vì tôi sử dụng kích thước post_thumbnail tùy chỉnh trong suốt chủ đề của mình. Cuối cùng, bạn có thể thấy mảng thuộc tính cần phải vượt qua trong các lớp ngoài lớp 'võng mạc' mặc định cũng như bất kỳ thuộc tính nào khác trong mảng đó.
Cảm ơn trước sự giúp đỡ nào. Thực sự không có nhiều thông tin trực tuyến về chủ đề này và tôi cho rằng câu hỏi của tôi đủ khác để đảm bảo một bài đăng bổ sung cho cộng đồng này. Xin vui lòng cho tôi biết nếu bạn có bất kỳ suy nghĩ, giải pháp và / hoặc cần bất kỳ làm rõ.