2015-10-13 87 views
4

我已經建立了woocommerce商店,我添加了一些變化的一些產品。每種版本都有自己的SKU編號,但出於某種原因,它們沒有顯示在產品概覽面板上。有什麼方法可以添加它們嗎?或者有人可以告訴我正確的方向。 另外,如果我嘗試搜索變體,則不會顯示產品所在的位置。我需要註冊變種sku嗎?這是默認情況下使用woocommerce還是沒有?變化Sku沒有顯示WordPress的/ woocommerce

謝謝!

enter image description here

這是我如何設定了變化:

enter image description here

+0

我認爲你正在使用的SKU強調這就是爲什麼你的產品一點兒也不顯示SKU的原因。 –

+0

Nop ...有_的產品,他們是簡單的產品,他們出現..並有產品與_和沒有它,作爲可變的產品,他們不出現... –

+0

要求關閉的問題[標誌]因爲它沒有處理代碼問題。即使是詢問問題,對於問題答覆也不積極。 –

回答

1

好吧,考慮到沒有人帶着我去挖掘一下自己:D 所以這裏是我找到的解決方案。

在其位於文件類-WC-管理-後types.php woocommerce /包括/管理

您必須修改行277

case 'sku' : 

    $type = (get_class($the_product)); 

    if($type == 'WC_Product_Variable'){ 

     $available_variations = $the_product->get_available_variations(); 

     echo '<strong> Variations: </strong>' . count($available_variations) . '<br><br>'; 

     for ($i = 0; $i < count($available_variations); $i++) { 

      echo ($available_variations[$i]['sku']) . '<br>'; 
     } 
    } 
    else { 
     echo $the_product->get_sku() ? $the_product->get_sku() : '<span class="na">&ndash;</span>'; 
    } 
break; 

一些代碼,現在你可以得到像這樣的東西: 當你有你的產品變化,你會顯示變化量和所有可用的SKU的,如果不是一個可變的產品,你只會顯示SKU。

現在我想我可能也會修改股票列表並顯示每股股票的股票數量。

希望這可以幫助別人。並感謝那些試圖幫助的人!

enter image description here

好......所以我現在又增加了股票無非就是那麼前面的代碼非常不同的支持...所以對同一文檔上線344,你可以添加此。

case 'is_in_stock' : 

      $type = (get_class($the_product)); 

      if($type == 'WC_Product_Variable'){ 

       $available_variations = $the_product->get_available_variations(); 

       echo '<strong> Variations stock: </strong> <br><br>'; 

       for ($i = 0; $i < count($available_variations); $i++) { 


        if ($available_variations[$i]['is_in_stock'] == 0) { 
         echo '<mark class="outofstock">' . __('Out of stock', 'woocommerce') . '</mark>'; 
        }else { 

         echo '<mark class="instock">' . __('In stock', 'woocommerce') . '</mark>'; 

        } 
        if ($available_variations[$i]['variation_is_active']) { 
         echo ' &times; ' . $available_variations[$i]['max_qty'] . '<br>' ; 
        } 
       } 
      } else { 

       if ($the_product->is_in_stock()) { 
        echo '<mark class="instock">' . __('In stock', 'woocommerce') . '</mark>'; 
       } else { 
        echo '<mark class="outofstock">' . __('Out of stock', 'woocommerce') . '</mark>'; 
       } 

       if ($the_product->managing_stock()) { 
        echo ' &times; ' . $the_product->get_total_stock() ; 

       } 
      } 
      break; 

的你得到的東西是這樣的:

enter image description here

欲瞭解更多信息,請查看以下鏈接。 簡歷:這種方法可能會有一些性能問題......小心你有多少產品變體。

https://github.com/woothemes/woocommerce/issues/9396

-1

只需刪除IF條件檢查從meta.php文件環繞HTML出SKU的。在第18行左右。

該文件位於WC plugins/templates文件夾中。

OR

剛剛從this -> $product->get_sku()從IF語句導致該問題。

它返回一個空字符串是爲什麼IF條件永遠不會滿足。

此外,發生這種情況的原因是,如果父產品沒有SKU,並且只有您的變量,則會發生此問題。因此,我的評論頂部說明它返回空字符串,因爲它試圖從父母首先拉。換句話說,如果您已將SKU設置爲父級和變量,則即使不修改我提到的代碼,一切都可以正常工作。

+0

你正在談論的meta.php文件是用於展示單個產品視圖中的sku ......我說的是後端上面的圖片。 Asyou可以看到單個procucts上只有一個ku出現,但變量產品上有一個空的空間。 –

+0

到目前爲止,你已經做了什麼來解決這個問題?我認爲這與編寫任何方式無關。可能是你正在跳過安裝。正如您在WooCommerce [https://github.com/dreamyourcareer/woocommerce]中看到我們的貢獻一樣,我們不會遇到類似的問題。 –

+0

這個鏈接不會去任何 –