Я показываю купленные продукты на странице их аккаунта пользователем, вошедшим в систему.Я реализовал это, используя инструкции по этой ссылке https://www.codesd.com/item/woocommerce-list-all-the-products-previously-ordered.html. Я хотел бы отображать только купленные продукты с типом продукта "простой" вместо отображения всех купленных продуктов.
Я использовал следующий запрос:
global $wpdb;
$current_user = wp_get_current_user();
$customer_email = $current_user->user_email;
$customer_data = array( $customer_email );
$statuses = array_map( 'esc_sql', wc_get_is_paid_statuses() );
$result = $wpdb->get_col( "
SELECT im.meta_value FROM {$wpdb->posts} AS p
INNER JOIN {$wpdb->postmeta} AS pm ON p.ID = pm.post_id
INNER JOIN {$wpdb->prefix}woocommerce_order_items AS i ON p.ID = i.order_id
INNER JOIN {$wpdb->prefix}woocommerce_order_itemmeta AS im ON i.order_item_id = im.order_item_id
WHERE p.post_status IN ( 'wc-" . implode( "','wc-", $statuses ) . "' )
AND pm.meta_key IN ( '_billing_email', '_customer_user' )
AND im.meta_key IN ( '_product_id', '_variation_id' )
AND im.meta_value != 0
AND pm.meta_value IN ( '" . implode( "','", $customer_data ) . "' )
" );
Какой будет правильный SQL-запрос, который будет вставлен в него, чтобы отображать только продукты с типом продукта "простой"?