質問編集履歴
4
誤字の修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -50,7 +50,7 @@
|
|
50
50
|
|
51
51
|
functions.phpに記述しています。
|
52
52
|
|
53
|
-
```
|
53
|
+
```PHP
|
54
54
|
|
55
55
|
add_filter( 'usces_filter_sku_meta_form_advance_title', 'add_new_sku_meta_title'); //項目を追加
|
56
56
|
|
@@ -132,7 +132,7 @@
|
|
132
132
|
|
133
133
|
functions.phpに記述しています。
|
134
134
|
|
135
|
-
```
|
135
|
+
```PHP
|
136
136
|
|
137
137
|
// 重量2までを1個口として送料を重量で計算しなおす
|
138
138
|
|
3
情報の追加
test
CHANGED
File without changes
|
test
CHANGED
@@ -40,9 +40,97 @@
|
|
40
40
|
|
41
41
|
|
42
42
|
|
43
|
+
var_dump($carts);で出力を確認したところ、 「["advance"]=> string(0) ""」となっていて重量のカスタム項目が正しく保存されていないのか、取得できていない状況。
|
44
|
+
|
45
|
+
|
46
|
+
|
43
47
|
### ソースコード
|
44
48
|
|
49
|
+
SKUに重量のカスタム項目を追加する部分
|
45
50
|
|
51
|
+
functions.phpに記述しています。
|
52
|
+
|
53
|
+
```html
|
54
|
+
|
55
|
+
add_filter( 'usces_filter_sku_meta_form_advance_title', 'add_new_sku_meta_title'); //項目を追加
|
56
|
+
|
57
|
+
function add_new_sku_meta_title(){
|
58
|
+
|
59
|
+
return '<th colspan="2">カスタム項目</th>';
|
60
|
+
|
61
|
+
}
|
62
|
+
|
63
|
+
|
64
|
+
|
65
|
+
add_filter( 'usces_filter_sku_meta_form_advance_field', 'add_new_sku_meta_field'); //フィールドを新規追加
|
66
|
+
|
67
|
+
function add_new_sku_meta_field(){
|
68
|
+
|
69
|
+
return '<td colspan="2" class="item-sku-zaikonum"><input name="newskuadvance" type="text" id="newskuadvance" class="newskuadvance metaboxfield" /></td>'."n";
|
70
|
+
|
71
|
+
}
|
72
|
+
|
73
|
+
|
74
|
+
|
75
|
+
add_filter( 'usces_filter_sku_meta_row_advance', 'add_new_sku_meta_row_advance',10,2); //フィールドを追加
|
76
|
+
|
77
|
+
function add_new_sku_meta_row_advance( $default_field, $sku ){
|
78
|
+
|
79
|
+
$metaname = 'itemsku[' .$sku["meta_id"]. '][skuadvance]';
|
80
|
+
|
81
|
+
return '<td colspan="2" class="item-sku-zaikonum"><input name="' .$metaname.'" type="text" id="' .$metaname. '" class="newskuadvance metaboxfield" value="' .$sku["advance"]. '"/></td>'."n";
|
82
|
+
|
83
|
+
}
|
84
|
+
|
85
|
+
|
86
|
+
|
87
|
+
add_filter( 'usces_filter_add_item_sku_meta_value', 'add_new_sku_meta'); //新規項目を作成
|
88
|
+
|
89
|
+
function add_new_sku_meta($value){
|
90
|
+
|
91
|
+
$skuadvance = isset($_POST['newskuadvance']) ? $_POST['newskuadvance'] : '';
|
92
|
+
|
93
|
+
$value['advance'] = $skuadvance;
|
94
|
+
|
95
|
+
return $value;
|
96
|
+
|
97
|
+
}
|
98
|
+
|
99
|
+
|
100
|
+
|
101
|
+
add_filter( 'usces_filter_up_item_sku_meta_value', 'up_new_sku_meta'); //項目を変更
|
102
|
+
|
103
|
+
function up_new_sku_meta($value){
|
104
|
+
|
105
|
+
$skuadvance = isset($_POST['skuadvance']) ? $_POST['skuadvance'] : '';
|
106
|
+
|
107
|
+
$value['advance'] = $skuadvance;
|
108
|
+
|
109
|
+
return $value;
|
110
|
+
|
111
|
+
}
|
112
|
+
|
113
|
+
|
114
|
+
|
115
|
+
add_filter( 'usces_filter_item_save_sku_metadata', 'save_new_sku_meta',10,2 ); //項目を保持
|
116
|
+
|
117
|
+
function save_new_sku_meta( $skus, $mid ){
|
118
|
+
|
119
|
+
$skuadvance = isset($_POST['itemsku'][$mid]['skuadvance']) ? $_POST['itemsku'][$mid]['skuadvance']: '';
|
120
|
+
|
121
|
+
$skus['advance'] = $skuadvance;
|
122
|
+
|
123
|
+
return $skus;
|
124
|
+
|
125
|
+
}
|
126
|
+
|
127
|
+
```
|
128
|
+
|
129
|
+
|
130
|
+
|
131
|
+
重量で送料を再計算する部分
|
132
|
+
|
133
|
+
functions.phpに記述しています。
|
46
134
|
|
47
135
|
```html
|
48
136
|
|
@@ -77,3 +165,5 @@
|
|
77
165
|
WordPress 5.0.2
|
78
166
|
|
79
167
|
PHP 7.3.0
|
168
|
+
|
169
|
+
Welcart 1.9.14
|
2
わかりやすく修正
test
CHANGED
@@ -1 +1 @@
|
|
1
|
-
WordPressプラグインのWelcartで送料を商品の重量(個口数)で設定するためのカスタマイズ
|
1
|
+
WordPressプラグインのWelcartで送料を商品の重量(個口数)で設定するためのカスタマイズでSKUの重量が取得できない
|
test
CHANGED
@@ -16,9 +16,7 @@
|
|
16
16
|
|
17
17
|
検索して調べて、SKUに重量を設定するところまではできたが、注文された商品の重量の合計を取得する方法がわからない。
|
18
18
|
|
19
|
-
SKUで設定した重量が保存されていないようで、取得しても空欄になってしまう。
|
19
|
+
SKUで設定した重量が保存されていないのか、取得方法が間違っているようで、取得しても空欄になってしまう。
|
20
|
-
|
21
|
-
また、送り先の都道府県別の送料の取得方法がわからない。
|
22
20
|
|
23
21
|
|
24
22
|
|
1
情報の追加
test
CHANGED
File without changes
|
test
CHANGED
@@ -15,6 +15,8 @@
|
|
15
15
|
|
16
16
|
|
17
17
|
検索して調べて、SKUに重量を設定するところまではできたが、注文された商品の重量の合計を取得する方法がわからない。
|
18
|
+
|
19
|
+
SKUで設定した重量が保存されていないようで、取得しても空欄になってしまう。
|
18
20
|
|
19
21
|
また、送り先の都道府県別の送料の取得方法がわからない。
|
20
22
|
|
@@ -34,7 +36,7 @@
|
|
34
36
|
|
35
37
|
|
36
38
|
|
37
|
-
次のサイトを参考に、個口数を計算して、送り先の都道府県別送料×個口数で送料を出そうとしたが、
|
39
|
+
次のサイトを参考に、個口数を計算して、送り先の都道府県別送料×個口数で送料を出そうとしたが、SKUに追加した重量を取得すると値が0になっていて正しい値が取得できない。
|
38
40
|
|
39
41
|
https://teratail.com/questions/100686
|
40
42
|
|
@@ -58,7 +60,7 @@
|
|
58
60
|
|
59
61
|
foreach($carts as $cart){
|
60
62
|
|
61
|
-
$weight += $cart['advance']; //重量を加算
|
63
|
+
$weight += $cart['advance']; //重量を加算したいが、$cart['advance']の値が0になっている
|
62
64
|
|
63
65
|
}
|
64
66
|
|