在WooCommerce商店页面中隐藏没有缩略图的产品

问题描述:

我使用进口商将数千种产品导入商店。尽管我想在销售该产品之前必须插入产品的图片和说明。在WooCommerce商店页面中隐藏没有缩略图的产品

如果没有指定缩略图图像,我想从商店隐藏产品。这样,只有在设置了缩略图图像后,新产品才会出现在商店中。

我想这在header.php中,但没有奏效:

<?php if($_product->getImage() && $_product->getImage() != 'no_selection'){ 
?> 
<style> 
    /* Css to hide Featured image Div */ 
</style> 
<?php 
}?> 

这给了我错误:

Fatal error: Call to a member function getImage() on a non-object

有没有快速的方法来隐藏WordPress的WooCommerce产品商店页面,如果他们没有放置缩略图?

感谢

+0

使用['woocommerce_get_product_thumbnail()'](http://woocommerce.wp-a2z.org/oik_api/woocommerce_get_product_thumbnail/) –

+0

不起作用:(致命错误:调用一个成员函数woocommerce_get_product_thumbnail()在非-object in – Masqtto

+0

'$ _product'在那里有问题,它不是object.check'var_dump($ _product);'看看它显示了什么 –

您可以使用woocommerce_product_query行动迷上一个自定义函数,挂钩,这将改变店铺查询和没有图像店页面的产品将不显示,这种方式:

add_action('woocommerce_product_query', 'custom_pre_get_posts_query'); 
function custom_pre_get_posts_query($query) { 

    $query->set('meta_query', array(array(
     'key' => '_thumbnail_id', 
     'value' => '0', 
     'compare' => '>' 
    ))); 

} 

代码在你的活动子主题(或主题)的function.php文件中,或者也在任何插件文件中。

该代码测试和工程上WooCommerce的2.6.x和3.0+

宇商贸通常在插入产品占位图片不具有缩略图。你可以做的就是轻松使用Jquery的目标产品。

在我的网站上放置一个名为“placeholder.png”的imame,它将位于site_url()。“/ wp-content/plugins/woocommerce/assets/images/placeholder.png”网址。

将javascript排入主题或创建子主题并将其添加到functions.php文件中。

这里是代码。

hideproduct.js

jQuery(document).ready(function(){ 

    jQuery(".products a img.woocommerce- 
      placeholder").parents(".product").css("display","none"); 

}) 

嗯,你可以节省大量的斗争,并与post_status设置为draft,这将导致不显示他们在头版最初导入您的产品。然后,每当您向产品添加图像时(我认为您通过WP后端进行操作),就会“发布”您的产品,因为无论如何您都必须将其保存。

如果您有单独的图像导入脚本,则可以从此处将post_status设置为public