2013-12-10 68 views
0

我做了一堆研究和測試,似乎無法從產品頁面獲取唯一的SKU來填充心願單。在願望清單上填充Woocommerce SKU

我使用YITH Woocommerce收藏和編輯wishlist.php文件,包括此代碼:

<?php if(get_option('yith_wcwl_stock_number_show') == 'yes') : ?> 
         <td class="product-stock-number"> 
          <?php echo $product->get_sku(); ?> 
         </td> 
        <?php endif ?> 

這個頂部:

global $product; 

我得到這個錯誤:

Fatal error: Call to a member function get_sku() on a non-object in /home2/cityrank/public_html/wp-content/plugins/yith-woocommerce-wishlist/templates/wishlist.php on line 142

在此先感謝!

編輯: 下面是價格代碼:

<?php if(get_option('yith_wcwl_price_show') == 'yes') : ?> 
         <td class="product-price"> 
          <?php 
          if($product_obj->price != '0') { 
           if(get_option('woocommerce_tax_display_cart') == 'excl') 
            { echo apply_filters('woocommerce_cart_item_price_html', woocommerce_price($product_obj->get_price_excluding_tax()), $values, ''); } 
           else 
            { echo apply_filters('woocommerce_cart_item_price_html', woocommerce_price($product_obj->get_price()), $values, ''); } 
          } else { 
           echo apply_filters('yith_free_text', __('Free!', 'yit')); 
          } 
          ?> 
         </td> 
        <?php endif ?> 
+1

僅僅因爲您在腳本的頂部有$ product並不意味着產品已加載。 woocommerce僅爲特定頁面加載產品(例如,單一產品)檢查is_product()是否返回true或false? – skrilled

+0

謝謝skrilled。我在哪裏尋找is_product()?在你運行的代碼前加上 – justinae

+0

,可能會加上<?php if(is_product())die(「這是產品」); ?>只是爲了測試woocommerce正在將產品加載到該視圖中 – skrilled

回答

0

基於你今天添加的代碼...

我建議嘗試,而不是執行以下操作:

$product_obj->get_sku(); 

對於這個特定的頁面,他們似乎沒有將產品加載到$ product中,而是使用$ product_obj(ect)

+0

謝謝skrilled!我會試一試並儘快回覆。 – justinae

+0

這有助於將SKU輸出到心願單中。做得很好。它仍然造成一個問題,因爲沒有用戶登錄,它只會加載我的測試產品,無論我使用哪個瀏覽器或清除了緩存。當我登錄WP管理員時,它允許我成功刪除項目並添加其他項目。一旦我註銷,它就立刻回到只顯示測試產品的狀態。奇怪的。有任何想法嗎?也許我需要'全球美元產品' ? – justinae

+0

這是一個你得到的插件嗎? – skrilled

相關問題