コードを使用してウォーコムの属性に値を追加するにはどうすればよいですか? 私は 'Dispatch time'(taxonomy:pa_dispatch)という属性を作成しましたが、今は特定の製品のDispatch属性に値を追加したいと思います。woocommerce:商品属性に値を追加
これはプログラムによってどのように行うのですか?
コードを使用してウォーコムの属性に値を追加するにはどうすればよいですか? 私は 'Dispatch time'(taxonomy:pa_dispatch)という属性を作成しましたが、今は特定の製品のDispatch属性に値を追加したいと思います。woocommerce:商品属性に値を追加
これはプログラムによってどのように行うのですか?
私は答えを見つけ、あなたは$のAPPENDがtrue
またはfalse
することができ、
wp_set_object_terms($object_id, $terms, $taxonomy, $append);
、分類の対象の条件を設定するためにwp_set_object_termsを使用する必要がある、trueの場合、タグがに追加されます既存のタグ、falseの場合、タグは置き換えられます。私の例では
、ここで
wp_set_object_terms($object_id, '2 Business Days', 'pa_dispatch' , false);
は、pa_dispatch
はウコマースの分類です。
あなたは、属性に値を追加することはできません。製品変数を作成し、バリエーションを作成し、それに属性を割り当てる必要があります。このバリエーションでは、値を割り当てることができます。
読み出しモード:
EDIT:
ここでは、改善された解決方法を示します。
functions.phpに下記の機能を追加してください。適切なフックで呼び出し、プロダクトIDと属性値を渡します。
function se19519561_set_attributes($post_id, $attributes) {
//Type attribute
$product_attributes['type'] = array(
//Make sure the 'name' is same as you have the attribute
'name' => htmlspecialchars(stripslashes('Dispatch Time')),
'value' => $attributes,
'position' => 1,
'is_visible' => 1,
'is_variation' => 1,
'is_taxonomy' => 0
);
//Add as post meta
update_post_meta($post_id, '_product_attributes', $product_attributes);
}
これは役に立ちます。
ありがとうございます。あなたのfunctions.phpのどこにこれを置いたのですか? $ object_idとは何ですか? – nicmare
@nicmare値を変更したいところに置きますが、この文をfunctions.phpに直接入れると、ファイルが読み込まれるたびに関数が実行されます!また、$ object_idは製品のIDだけです。、その特定の製品のポストID。 – Rao
もちろん私はsave_postフックでそれを起動します。私はそれを試してみましょう。ありがとう – nicmare