我需要通過PHP代碼設置產品的屬性。 根據StackOverflow上的其他線程,有方法wp_set_object_terms。不幸的是,它不能正常工作,因爲它應該是我的情況:WooCommerce:使用wp_set_object_terms發佈設置屬性
例如,有一個名爲「Hersteller」,slug「hersteller」的屬性。 還有一個產品ID 593,沒有「hersteller」屬性集。
我嘗試下面的代碼來填充屬性:
wp_set_object_terms(593, 'Alpina', 'pa_hersteller' , false);
當我試圖顯示在產品頁面上的屬性,沒有輸出,所以它似乎wp_set_object_terms處理不是招沒有成功。 下面的代碼生成空輸出:
$product->get_attribute('hersteller');
此外,屬性「...創建」甚至沒有在管理後臺menue屬性列表中列出。
要調試我也嘗試下面的代碼問題:
$attributes = get_post_meta(593, '_product_attributes');
print_r($attributes);
導致下面的輸出:
Array ([0] => Array ([pa_marken] => Array ([name] => pa_marken [value] => [position] => 0 [is_visible] => 1 [is_variation] => 0 [is_taxonomy] => 1) [pa_kategorien] => Array ([name] => pa_kategorien [value] => [position] => 1 [is_visible] => 1 [is_variation] => 0 [is_taxonomy] => 1) [pa_referenznummer] => Array ([name] => pa_referenznummer [value] => [position] => 2 [is_visible] => 1 [is_variation] => 0 [is_taxonomy] => 1) [pa_herstellergarantie] => Array ([name] => pa_herstellergarantie [value] => [position] => 3 [is_visible] => 1 [is_variation] => 0 [is_taxonomy] => 1) [pa_schlagwoerter] => Array ([name] => pa_schlagwoerter [value] => [position] => 4 [is_visible] => 1 [is_variation] => 0 [is_taxonomy] => 1) [pa_lieferzeit] => Array ([name] => pa_lieferzeit [value] => [position] => 5 [is_visible] => 1 [is_variation] => 0 [is_taxonomy] => 1)))
我使用的wp_set_object_terms方法基本上是錯了嗎? 現在我不知道該怎麼做了。有人可以幫我嗎?謝謝!
到目前爲止,我已經試過了藏漢之前
pa_hersteller
存在! 這也不起作用,因爲append-boolean只是將多個值設置爲一個屬性。 如果append爲false,則現有屬性值將被覆蓋,如果append爲true,則現有屬性仍然存在,並且新的屬性值將被添加。 – MrSteed