PHP コードを使用して製品の属性を設定する必要があります。StackOverflow の他のスレッドによると、メソッドwp_set_object_termsがあります。残念ながら、私の場合は想定どおりに機能していません。
たとえば、「Hersteller」という名前の属性、スラッグ「hersteller」があります。また、「hersteller」属性が設定されていない ID 593 の製品があります。
属性を埋めるために次のコードを試しました:
wp_set_object_terms(593, 'Alpina', 'pa_hersteller' , false);
商品ページに属性を表示しようとしても何も出力されないので、wp_set_object_termsの処理がうまくいっていないようです。次のコードは、空の出力を生成します。
$product->get_attribute('hersteller');
さらに、属性「hersteller」は、管理バックエンド メニューの属性リストにも表示されません。
問題をデバッグするために、次のコードも試しました。
$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 メソッドの使用は本質的に間違っていますか? もうどうしたらいいのかわからない。ここにいる誰かが私を助けることができますか?ありがとう!