add_shortcode( 'ccom_history_products', function( $atts ) {
// Settings
$product_ids = [];
// Authenticated Customers Only
if( ! get_current_user_id() ) {
return;
}
// Get User's Previous Purchases
$args = [
'limit' => -1,
'customer_id' => get_current_user_id(),
'status' => array_keys( wc_get_is_paid_statuses() ),
'type' => 'shop_order',
];
$orders = wc_get_orders( $args );
// No Orders Found
if( ! $orders ) {
return;
}
// Loop Order History
foreach( $orders as $order ) {
// Loop Historic Order Items
$items = $order->get_items();
foreach( $items as $item ) {
// Match Title
if( stristr( $item['name'], $history_match ) == false ) {
continue;
}
// Output
$product_ids[] = $item['product_id'];
} // Order Items
} // Orders
if( ! $product_ids ) {
return;
}
// Output Hand Picked Products Widget
$args = (object) [
'editMode' => 0,
'contentVisibility' => (object) [
'title' => 1,
'price' => 1,
'rating' => 1,
'button' => 1,
],
'orderby' => 'price_desc',
'products' => $product_ids,
'alignButtons' => 1,
];
$blocks = sprintf(
'<!-- wp:woocommerce/handpicked-products %s /-->',
json_encode( $args )
);
return apply_filters( 'the_content', $blocks );
} );
Shortcode to show recently purchased products
Shortcode `ccom_history_products` that displays recently purchased products to be added to cart (hand picked products block display) for re-purchasing.
How to use
- Log into a staging, development, or locally hosted clone of your site
- Install and activate Code Snippets
- WP Admin > Snippets > Add New
- Copy and paste the code from the Description tab above
- Check to ensure formatting came over properly and no syntax errors show up in the editor
- Customize the code as desired
- Add a meaningful title
- Select whether to run on front-end or back-end (or both)
- Click “Save and Activate”
- Test your site to ensure it works
- Disable if any problems, or recover
- Repeat for live environment
License
All code snippets are licensed GPLv2 (or later) matching WordPress licensing.
Disclaimer of warranty:
Except when otherwise stated in writing the copyright holders and/or other parties provide the program as-is without warranty of any kind, either expressed or implied, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose.
Support
- Describe the issue and what you’ve observed.
- Describe your expected outcome(s).
- List steps to reproduce the issue.
- Optionally provide screen-shot or video URLs.
