Saya menjumpai penyelesaian hebat ini untuk menunjukkan produk berkaitan berdasarkan atribut produk, tetapi tambahan pula kami ingin melakukan perkara yang sama untuk penjualan tinggi.
Apa yang saya cuba setakat ini tidak berkesan kerana saya percaya kita perlu menambah beberapa maklumat tambahan kerana fungsi related_products tidak sama dengan upsell.
add_filter( 'woocommerce_upsell_products', 'upsell_products_by_attribute', 10, 3 ); function upsell_products_by_attribute( $upsells, $product_id, $args ) { $taxonomy = 'pa_attribute'; $term_slugs = wp_get_post_terms( $product_id, $taxonomy, ['fields' => 'slugs'] ); if ( empty($term_slugs) ) return $upsells; $posts_ids = get_posts( array( 'post_type' => 'product', 'ignore_sticky_posts' => 1, 'posts_per_page' => 6, 'post__not_in' => array( $product_id ), 'tax_query' => array( array( 'taxonomy' => $taxonomy, 'field' => 'slug', 'terms' => $term_slugs, ) ), 'fields' => 'ids', 'orderby' => 'rand', ) ); return count($posts_ids) > 0 ? $posts_ids : $upsells; }
Jadi saya tertanya-tanya sama ada boleh melakukan perkara yang sama dengan bahagian upsell.
Anda boleh mengeluarkan cangkuk tindakan lalai
woocommerce_after_single_product_summary
并重新添加它,您可以自定义upsells
untuk produk. Semak kod di bawah. Kod tersebut akan masuk ke dalam fail functions.php tema aktif anda.Tukar
$taxonomy = 'pa_color';
kepada taksonomi tersuai anda.