When you run get_post_meta( get_the_ID(), '_crosssell_ids',true);
you get an array of all the products that the current product cross sells to.
How do I reverse that? To get all the products that cross sells to the current item?
Example:
Not this: Product 1 -> Cross-sell: Product 2, Product 3
But this: Product 3 <- Cross-sell: Product 1
When you run get_post_meta( get_the_ID(), '_crosssell_ids',true);
you get an array of all the products that the current product cross sells to.
How do I reverse that? To get all the products that cross sells to the current item?
Example:
Not this: Product 1 -> Cross-sell: Product 2, Product 3
But this: Product 3 <- Cross-sell: Product 1
You could do it with a meta query
$current_post_id = 'YOUR_POST_ID';
$args = array(
'post_type' => 'product',
'posts_per_page' => -1,
'meta_query' => array(
array(
'key' => '_crosssell_ids',
'value' => $current_post_id,
'compare' => 'LIKE'
)
)
);
$query = new WP_Query($args);
if($query->have_posts()){
while($query->have_posts()): $query->the_post();
$product = wc_get_product(get_the_ID());
// Do what you want with the product.
endwhile;
}
This query will return all products that have the $current_post_id as a cross sell id.
Hope this helps.