我在Woocommerce中有一个产品循环。如果客户之前购买过产品,我想用一条消息和订单日期替换购买产品按钮。例如。
"您于2016年1月15日购买了此产品"
我可以获取产品ID,但我可以获取当前用户ID,但无法弄清楚如何使用这些信息来提取订单ID。
curl is already installed on windows machine
想法?
答案 0 :(得分:1)
您可以使用下面的此功能
function _cmk_check_ordered_product( $id ) {
// Get All order of current user
$orders = get_posts( array(
'numberposts' => -1,
'meta_key' => '_customer_user',
'meta_value' => get_current_user_id(),
'post_type' => wc_get_order_types( 'view-orders' ),
'post_status' => array_keys( wc_get_order_statuses() )
) );
if ( !$orders ) return false; // return if no order found
$all_ordered_product = array(); // store products ordered in an array
foreach ( $orders as $order => $data ) { // Loop through each order
$order_data = new WC_Order( $data->ID ); // create new object for each order
foreach ( $order_data->get_items() as $key => $item ) { // loop through each order item
// store in array with product ID as key and order date a value
$all_ordered_product[ $item['product_id'] ] = $data->post_date;
}
}
if ( isset( $all_ordered_product[ $id ] ) ) { // check if defined ID is found in array
return 'You purchased this product on '. date('M. d, Y', strtotime( $all_ordered_product[ $id ] ) );
} else {
return 'Product Never Purchased';
}
}
e.g。
在单个商品页echo _cmk_check_ordered_product( get_the_ID() );