Tôi có một trang wordpress đang chạy plugin WooCommerce của wordpress. Do khối lượng sản phẩm tuyệt đối mà trang web này đang xử lý, chúng tôi đã quản lý danh sách sản phẩm bên ngoài trang web và tải lên. Rất nhiều sản phẩm chưa có hình ảnh nhưng chúng có một url hình ảnh được mã hóa cứng để chúng tôi có thể thêm chúng khi chúng tôi nhận được chúng. Để có được xung quanh hình ảnh bị hỏng tôi chỉ cần làm một chút tìm kiếm cho kích thước hình ảnh và nếu tôi không thể tìm thấy nó và thay thế nó bằng một giữ chỗ.Woocommerce Hiển thị Sản phẩm Với Hình ảnh Sản phẩm
$src = wp_get_attachment_image_src(get_post_thumbnail_id($post->ID), $size);
if (@getimagesize($src[0])) {
//display product image
} else {
//display placeholder image
}
Điều này hoạt động tốt trong hầu hết các trường hợp nhưng bây giờ tôi đang làm việc để hiển thị các sản phẩm trong danh mục. Tôi muốn hiển thị tất cả các sản phẩm có hình ảnh trước và sau đó hiển thị các sản phẩm không có hình ảnh. Vấn đề là khi vòng lặp bắt đầu nếu tôi loại trừ các sản phẩm không có hình ảnh, nó sẽ lặp qua 12 sản phẩm đầu tiên và chỉ hiển thị một tập hợp con của 12 sản phẩm có hình ảnh. Những gì tôi muốn làm là giữ vòng lặp cho đến khi tôi có 12 sản phẩm với hình ảnh (nếu có 12 sản phẩm có hình ảnh).
Đây là những gì tôi có ngay lúc này không hoạt động.
<?php if (have_posts()) : ?>
<ul class="products">
<?php while (have_posts()) : the_post(); ?>
<?php
$src = wp_get_attachment_image_src(get_post_thumbnail_id($post->ID), $size);
if (@getimagesize($src[0])) {
woocommerce_get_template_part('content', 'product');
}
?>
<?php endwhile; // end of the loop. ?>
</ul>
<?php endif; ?>
giải pháp hợp lý có thể xảy ra mà tôi đã không thể mã sẽ bỏ qua một số sản phẩm trong khi ở các vòng lặp (vì vậy nó sẽ làm cho chạy khác nếu không có hình ảnh) hoặc bằng cách nào đó mã truy vấn của tôi như một phần của yêu cầu của vòng lặp tức là hố nó trong $ args?
Mọi trợ giúp sẽ được đánh giá cao.