私は WooCommerce と WooCommerce Bookings プラグインを楽しんでいます。彼らのドキュメントには、「人」の数量を使用して複数のアイテムを予約するためのこのソリューションがあります。
予約プラグインが行うことは、バリエーションにメタデータを広告することです。また、現在予約されているアイテムの量の指標として使用している「人」も含まれます。
次にしたいのは、商品バリエーションからメタデータ[Persons]を取得し、これを商品の数量として表示することです。
これまでに行ったことは、woocommerce カート テンプレートを編集し、それを子テーマにコピーすることです。(ショップテーブルで使用できるフックがないため、フックは使用できません)。
</td>
<!-- Use [_persons] as product quantity -->
<td class="product-quantity--booking">
<?php
if ( ! empty( $cart_item['booking'] ) ) {
echo WC()->cart->get_item_data( $cart_item );
}
?>
</td>
私が理解する必要があるのは、これらのバリエーションをフィルタリングして、必要なメタデータのみを表示するにはどうすればよいですか? メタデータの「人」のみを表示する必要があります。
次に、開始日と終了日のみをフィルタリングして、他のメタ データ列に表示します。
[編集 18/02]
そのため、特定の値を表示するために引数をとらないため、「get_item_date」を使用できないことがわかりました。
「wc_display_item_meta」を使用しようとしましたが、必要なアイテムを選択する方法がわかりません。
<!-- Use ['Persons'] as product quantity -->
<td class="product-quantity--booking">
<?php
if ( ! empty( $cart_item['booking'] ) ) {
$item_meta = wc_display_item_meta( $cart_item['booking']['Persons'])
echo $item_meta;
}
?>
</td>
vardump を使用して、必要なキーが " ['booking']['Persons']
"であることがわかりました。
誰かが必要なアイテムの配列をフィルタリングする方法を指摘するのを手伝ってくれるでしょうか?