But i can’t pass an array to it.I have a solution for getting the post
randomly if am able to remove array elements form $user_ids by
checking with product ids.
Yes, the wc_customer_bought_product()
function only accepts a single user/product ID.
But you can loop through the $user_ids
array, and for each user (ID), loop through the $product_ids
and then call the wc_customer_bought_product()
function, like this:
$authors = array();
foreach ( $user_ids as $user_id ) {
foreach ( $product_ids as $product_id ) {
// User alread checked.
if ( in_array( $user_id, $authors ) ) {
continue;
}
if ( wc_customer_bought_product( '', $user_id, $product_id ) ) {
$authors[] = $user_id;
}
}
}
var_dump( $authors ); // testing
Additional Note
The wc_customer_bought_product()
accepts three parameters:
wc_customer_bought_product( $customer_email, $user_id, $product_id );
Where you can provide only the $customer_email
or $user_id
, or both.
Also, wc_customer_bought_product()
returns true
only for orders that are complete and not on hold, processing, etc.