質問編集履歴
4
見出し修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -208,7 +208,7 @@
|
|
208
208
|
|
209
209
|
|
210
210
|
|
211
|
-
###追記2
|
211
|
+
###追記2:プラグインファイル内のコードの調査
|
212
212
|
|
213
213
|
Woocommerceのプラグインファイル内のコードを確認したので追記します。
|
214
214
|
|
3
誤字修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -210,7 +210,7 @@
|
|
210
210
|
|
211
211
|
###追記2
|
212
212
|
|
213
|
-
Woocommerceのプラグインファイル内
|
213
|
+
Woocommerceのプラグインファイル内のコードを確認したので追記します。
|
214
214
|
|
215
215
|
①商品投稿画面の入力フォームのhtmlを見ると、ファイルのURLを登録する該当箇所のnameが【_wc_file_urls[]】となっている
|
216
216
|
|
2
Woocommerecのプラグインファイルのコードを調査して追記
test
CHANGED
File without changes
|
test
CHANGED
@@ -178,7 +178,7 @@
|
|
178
178
|
|
179
179
|
|
180
180
|
|
181
|
-
###追記:該当箇所のデータベース
|
181
|
+
###追記1:該当箇所のデータベース
|
182
182
|
|
183
183
|
該当箇所がどんな風にデータベースに登録されているかについて
|
184
184
|
|
@@ -205,3 +205,57 @@
|
|
205
205
|
単純にファイルのURLが入っているだけでなく、このように英数字の羅列も格納されています。
|
206
206
|
|
207
207
|
ファイルパス以外の情報は、var_dumpしたときに出てくる情報に関係のあるもの(?)なのかと考えています。
|
208
|
+
|
209
|
+
|
210
|
+
|
211
|
+
###追記2
|
212
|
+
|
213
|
+
Woocommerceのプラグインファイル内をコードを確認したので追記します。
|
214
|
+
|
215
|
+
①商品投稿画面の入力フォームのhtmlを見ると、ファイルのURLを登録する該当箇所のnameが【_wc_file_urls[]】となっている
|
216
|
+
|
217
|
+
②プラグインファイル内を【_wc_file_urls】で一括検索してみる
|
218
|
+
|
219
|
+
↓キャプチャ
|
220
|
+
|
221
|
+
![イメージ説明](33c9f53e1defc3a38ee07cad8842fb9e.png)
|
222
|
+
|
223
|
+
|
224
|
+
|
225
|
+
|
226
|
+
|
227
|
+
↓その中でカスタムフィールドに該当データを登録するために使っているのではないかと思った部分
|
228
|
+
|
229
|
+
```php
|
230
|
+
|
231
|
+
// Those are sanitized inside prepare_downloads.
|
232
|
+
|
233
|
+
'downloads' => self::prepare_downloads(
|
234
|
+
|
235
|
+
isset( $_POST['_wc_file_names'] ) ? wp_unslash( $_POST['_wc_file_names'] ) : array(), // phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized
|
236
|
+
|
237
|
+
isset( $_POST['_wc_file_urls'] ) ? wp_unslash( $_POST['_wc_file_urls'] ) : array(), // phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized
|
238
|
+
|
239
|
+
isset( $_POST['_wc_file_hashes'] ) ? wp_unslash( $_POST['_wc_file_hashes'] ) : array() // phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized
|
240
|
+
|
241
|
+
),
|
242
|
+
|
243
|
+
'product_url' => isset( $_POST['_product_url'] ) ? esc_url_raw( wp_unslash( $_POST['_product_url'] ) ) : '',
|
244
|
+
|
245
|
+
'button_text' => isset( $_POST['_button_text'] ) ? wc_clean( wp_unslash( $_POST['_button_text'] ) ) : '',
|
246
|
+
|
247
|
+
'children' => 'grouped' === $product_type ? self::prepare_children() : null,
|
248
|
+
|
249
|
+
'reviews_allowed' => ! empty( $_POST['comment_status'] ) && 'open' === $_POST['comment_status'],
|
250
|
+
|
251
|
+
'attributes' => $attributes,
|
252
|
+
|
253
|
+
'default_attributes' => self::prepare_set_attributes( $attributes, 'default_attribute_' ),
|
254
|
+
|
255
|
+
```
|
256
|
+
|
257
|
+
|
258
|
+
|
259
|
+
的外れな部分をピックアップしていたら申し訳ありません。
|
260
|
+
|
261
|
+
その際は修正します。
|
1
データベース内の情報を追記
test
CHANGED
File without changes
|
test
CHANGED
@@ -175,3 +175,33 @@
|
|
175
175
|
WordPress5.3.2
|
176
176
|
|
177
177
|
woocommerce3.8.1
|
178
|
+
|
179
|
+
|
180
|
+
|
181
|
+
###追記:該当箇所のデータベース
|
182
|
+
|
183
|
+
該当箇所がどんな風にデータベースに登録されているかについて
|
184
|
+
|
185
|
+
phpMyAdminで確認すると、「_downloadable_files」は下記の画像のように登録されています。
|
186
|
+
|
187
|
+
![イメージ説明](580e5351845e1b6419426dadb066f075.jpeg)
|
188
|
+
|
189
|
+
wp_postmetaに格納されているを参照しています。
|
190
|
+
|
191
|
+
本当はもっと登録しているファイルがあるはずなのですが、なぜか4つしか出てきません。
|
192
|
+
|
193
|
+
(途中からサイトをSSL化したことが影響しているのでしょうか...)
|
194
|
+
|
195
|
+
|
196
|
+
|
197
|
+
肝心の中身(meta_valuse)についてなのですが、下記のようになっています。
|
198
|
+
|
199
|
+
```
|
200
|
+
|
201
|
+
a:1:{s:36:"7f8b80b7-f8fe-4bbb-a372-d9290030ab41";a:3:{s:2:"id";s:36:"7f8b80b7-f8fe-4bbb-a372-d9290030ab41";s:4:"name";s:12:"【投稿画面で設定したファイル名】";s:4:"file";s:118:"http://【サイトドメイン】/wp-content/uploads/woocommerce_uploads/2020/01/【アップロードしたファイル】";}}
|
202
|
+
|
203
|
+
```
|
204
|
+
|
205
|
+
単純にファイルのURLが入っているだけでなく、このように英数字の羅列も格納されています。
|
206
|
+
|
207
|
+
ファイルパス以外の情報は、var_dumpしたときに出てくる情報に関係のあるもの(?)なのかと考えています。
|