2017-07-03 70 views
2

我使用進口商將數千種產品導入商店。儘管我想在銷售該產品之前必須插入產品的圖片和說明。在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);'看看它顯示了什麼 –

回答

2

您可以使用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+

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"); 

}) 
0

嗯,你可以節省大量的鬥爭,並與post_status設置爲draft,這將導致不顯示他們在頭版最初導入您的產品。然後,每當您向產品添加圖像時(我認爲您通過WP後端進行操作),就會「發佈」您的產品,因爲無論如何您都必須將其保存。

如果您有單獨的圖像導入腳本,則可以從此處將post_status設置爲public

相關問題