だから私はこの配列を持っています(例を挙げると、動的に構築されます):
$v_values = array(
array("C1","C2"),
array("F1","F2")
);
$v_name = array("color","fabric");
$v_price = array(
array(1000,2000),
array(3000,4000)
);
バリエーションのある製品を作成したいので、これがコードです。
for($i = 0; $i < count($v_name); $i++) {
for($j = 0; $j < count($v_values[$i]); $j++) {
$var_post = array(
'post_title' => $ins["title"],
'post_content' => $ins["desc"] ,
'post_status' => ($user->roles[0] === "pending_vendor") ? 'pending' : 'publish',
'post_parent' => $post_id,
'post_type' => 'product_variation',
);
// Insert the post into the database
$var_post_id = wp_insert_post( $var_post );
update_post_meta($var_post_id, 'attribute_' . $v_name[$i], $v_values[$i][$j]);
update_post_meta($var_post_id, '_price', $v_price[$i][$j]);
update_post_meta($var_post_id, '_regular_price', (string) $v_price[$i][$j]);
for($k = 0; $k < count($v_name); $k++) {
if($i !== $k) {
for($l = 0; $l < count($v_values[$k]); $l++) {
update_post_meta($var_post_id, 'attribute_' . $v_name[$k], $v_values[$k][$l]);
update_post_meta($var_post_id, '_price', $v_price[$k][$l]);
update_post_meta($var_post_id, '_regular_price', (string) $v_price[$k][$l]);
}
}
}
}
}
$ins
変数が定義されており$post_id
、それが親投稿であると仮定します。
問題:
上記のコードは、次のバリエーションを作成します。
| C1 | F2 |
---------
| C2 | F2 |
---------
| C2 | F1 |
---------
| C2 | F2 |
予想されたこと:
| C1 | F1 |
---------
| C1 | F2 |
---------
| C2 | F1 |
---------
| C2 | F2 |
方法がわかりません、助けてください!