Welcartで商品オプションを取得する関数は用意されていますが、レイアウトの都合などでそのまま使えないない場合があります。今回は商品ID(post_id)を指定して個別に取得する方法を書いていきます。
商品オプションの格納場所確認
“wp_postmeta”テーブルに”_iopt_”というキーで配列がシリアライズされた状態で保存されています。
SELECT * FROM `wp_postmeta` WHERE `post_id` = 9 AND `meta_key` = '_iopt_';
商品オプション内容取得
以下のコードで商品オプション内容を取得します。
$meta_values = get_post_meta( get_the_ID(), "_iopt_", false );
var_dump($meta_values);
取得した内容をvar_dumpで出力してみると以下のような配列が返ってきます。こちらをもとにすれば商品オプションを自由なレイアウトで表示することが出来ます。
array(1) {
[0]=>
array(5) {
["name"]=>
string(6) "サイズ"
["means"]=>
string(1) "0"
["essential"]=>
string(1) "0"
["value"]=>
string(5) "26.5
27.5
28.5"
["sort"]=>
string(1) "0"
}
}
動作環境情報
エックスサーバー(x10) PHP 7.3.14 MySQL 5.7 WordPress 5.3.2 Welcart e-Commerce 1.9.28
コメント