我正在使用 WooCommerce 预订插件,我目前希望在预订摘要(产品选项)中显示其他信息。
为此,我使用以下钩子:woocommerce_admin_booking_data_after_booking_details
如果我的预订与订单相关联,我会使用该功能检索我的数据wc_get_order_item_meta
我希望能够在预订还不是订单时检索我的数据 (例如,简单地添加到购物篮中)。
浏览数据库时,我看到信息存储在表中woocommerce_sessions
。
在我使用的钩子中,我只能访问预订的 ID。
是否可以从此会话中检索相应的会话?
谢谢
更新
add_filter('woocommerce_admin_booking_data_after_booking_details', function ($booking_id) {
global $wpdb;
$booking = get_wc_booking($booking_id);
$order = $booking->get_order();
if ($order) {
foreach ($order->get_items() as $item) {
$item_meta = wc_get_order_item_meta($item->get_id(), '', FALSE);
/* Your code */
}
} else {
$table = $wpdb->prefix . 'woocommerce_sessions';
$condition = '%booking_id____' . $booking_id . '%';
$sql = "SELECT session_value FROM $table WHERE session_value LIKE '$condition'";
$query = maybe_unserialize($wpdb->get_var($sql));
$cart_items = maybe_unserialize($query['cart']);
foreach ($cart_items as $item) {
/* Your code */
}
}
}, 10, 1);