使用WpAllImport導入產品時,即使它們沒有任何變化,我們所有的產品都將作爲可變產品存儲。我們需要將這些存儲爲單一產品。WooCommerce使用mysql批量更改產品類型
如何使用MySql將所有產品類型更改爲單一的所有產品沒有任何變化?我們在查詢時遇到問題。
希望能有些WooCommerce專家可以幫助我們解決這個..
非常感謝您!
使用WpAllImport導入產品時,即使它們沒有任何變化,我們所有的產品都將作爲可變產品存儲。我們需要將這些存儲爲單一產品。WooCommerce使用mysql批量更改產品類型
如何使用MySql將所有產品類型更改爲單一的所有產品沒有任何變化?我們在查詢時遇到問題。
希望能有些WooCommerce專家可以幫助我們解決這個..
非常感謝您!
首先獲取帶有循環的所有可變產品。使用每個產品帖子ID,獲取可用的變體。如果產品沒有變化。然後改變每個簡單。
<?php
$args = array(
'post_type' => 'product',
'product_type' => 'variable'
);
$products = new WP_Query($args);
if ($products->have_posts()) {
while ($products->have_posts()) : $products->the_post();
$variations = array();
$id = the_ID();
$args = array(
'post_parent' => $id
);
$variations = get_children($args);
if(sizeOf($variations) == 0){
wp_set_object_terms($id, 'simple', 'product_type');
}
endwhile;
}
?>
謝謝,但這會將所有變量產品更改爲簡單的產品,我們只需更改沒有變量的變量產品 – Virik
不知道這是一個規定。我修正了它只改變沒有變化的產品的地方,希望對你有所幫助 – OfficialDtech
再次感謝當運行你的代碼時,我得到這個錯誤:Uncaught Error:調用成員函數the_post()null – Virik
從MySQL首先需要備份您的數據庫,那麼你可以從下面的查詢讓你的產品類型ID:
select term_id from wp_terms where name='variable' // assume return 4 as result
select term_id from wp_terms where name='simple' // assume return 2 as result
通過上面的查詢就可以得到這兩個產品type.which的ID需要在下面提到的更新查詢中使用。
UPDATE wp_term_relationships
INNER JOIN wp_terms ON (wp_term_relationships.term_taxonomy_id = wp_terms.term_id)
SET wp_term_relationships.term_taxonomy_id = '2' where wp_term_relationships.term_taxonomy_id = '4'
你,但這需要爲約16.000個產品完成,我們需要更多的自動:) – Virik
從MySQL自定義查詢將具體我猜,或者你可以通過PHP文件基於上面的query.make準備腳本確保在任何操作步驟之前得到備份:) –
到目前爲止您的查詢是? – helgatheviking
請分享您試過的MySQL查詢或代碼。 –
已刪除,正在關閉: – Virik