Hello
The code shown below creates a new endpoint to the “my-account” section on my wordpress website. basically it displays the products a user purchased from our site. I just want to EXCLUDE a certain product category to be shown in this endpoint ! i hope you can help me achieve this !
add_shortcode( 'my_purchased_products' , 'bbloomer_products_bought_by_curr_user' );
function bbloomer_products_bought_by_curr_user() {
// GET CURR USER
$current_user = wp_get_current_user();
if ( 0 == $current_user ->ID ) return ;
// GET USER ORDERS (COMPLETED + PROCESSING)
$customer_orders = get_posts( array (
'numberposts' => -1,
'meta_key' => '_customer_user' ,
'meta_value' => $current_user ->ID,
'post_type' => wc_get_order_types(),
'post_status' => array_keys ( wc_get_is_paid_statuses() ),
) );
// LOOP THROUGH ORDERS AND GET PRODUCT IDS
if ( ! $customer_orders ) return ;
$product_ids = array ();
foreach ( $customer_orders as $customer_order ) {
$order = wc_get_order( $customer_order ->ID );
$items = $order ->get_items();
foreach ( $items as $item ) {
$product_id = $item ->get_product_id();
$product_ids [] = $product_id ;
}
}
$product_ids = array_unique ( $product_ids );
$product_ids_str = implode( "," , $product_ids );
// PASS PRODUCT IDS TO PRODUCTS SHORTCODE
return do_shortcode( "[products ids='$product_ids_str']" );
}