Чтобы заменить продажи в woocommerce продуктами из определенной категории продуктов, используйте следующий код (где вы определите слаг (ы) категории продуктов) :
add_filter( 'woocommerce_product_get_upsell_ids', 'custom_upsell_ids', 20, 2 );
function custom_upsell_ids( $upsell_ids, $product ){
// HERE define your product categories slugs in the array
$product_categories = array( 't-shirts' ); // <===== <===== <===== <===== <=====
// Return the custom query
return wc_get_products( array(
'status' => 'publish', // published products
'limit' => 4, // 4 products
'category' => $product_categories, // Product categories
'orderby' => 'rand', // Random order
'exclude' => array( $product->get_id() ), // Exclude current product
'return' => 'ids', // Query returns only IDs
) );
}
Код помещается в файл function.php активной дочерней темы (или активной темы).Протестировано и работает.
Запрос настроен на отображение 4 продуктов из определенной категории продуктов в случайном порядке (исключая текущий продукт).
Официальнодокументация: wc_get_products()
и WC_Product_Query