我有一个运行wordpress插件WooCommerce的wordpress网站。由于本网站正在处理的产品数量庞大,我们一直在网站外部管理产品列表并上传。很多产品还没有图像,但他们有一个硬编码的图像网址,所以我们可以添加它们,当我们得到它们。为了解决破碎的图像,我只是做一些图像大小的搜索,如果我找不到它,并用占位符替换它。Woocommerce显示含产品图像的产品
$src = wp_get_attachment_image_src(get_post_thumbnail_id($post->ID), $size);
if (@getimagesize($src[0])) {
//display product image
} else {
//display placeholder image
}
这在大多数情况下工作正常,但现在我正在将产品显示在类别中。我想先显示所有带有图像的产品,然后显示没有图像的产品。问题是一旦循环开始,如果我排除没有图像的产品,它将循环通过前12个产品,并且仅显示具有图像的12个子集。我想要它做的是保持循环,直到我有12个产品的图像(如果有12个产品的图像)。
这就是我现在没有用的东西。我一直无法代码
<?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; ?>
可能的逻辑解决方案,将忽略某些产品的循环,而(所以它会做另一奔跑如果没有图像),或以某种方式编写我的查询为一体的规定的一部分循环即坑在$ args?
任何帮助将不胜感激。