It will be a greater code with your help editing it!

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']" );

}

Sponsor our Newsletter | Privacy Policy | Terms of Service