WooCommerce web sitenizin tüm sayfalarından yalnızca yinelenen ürünü (aynı başlığa sahip ürün) gizlemek için, functions.php dosyanızda aşağıdaki kod parçacığını kullanabilirsiniz:
function hide_duplicate_products( $query ) {
global $wpdb;
if ( ! is_admin() && $query->is_main_query() ) {
$query->set( 'post__not_in', $wpdb->get_col( "
SELECT p1.ID
FROM {$wpdb->posts} p1
INNER JOIN {$wpdb->posts} p2 ON p1.post_title = p2.post_title
WHERE p1.post_type = 'product' AND p2.post_type = 'product' AND p1.ID > p2.ID
" ) );
}
}
add_action( 'pre_get_posts', 'hide_duplicate_products' );
Bu kod, ürün arşiv sayfaları, tek ürün sayfaları vb. dahil olmak üzere web sitenizin ürünle ilgili tüm sayfalarından yalnızca yinelenen ürünü (başka bir ürünle aynı başlığa sahip ürün) hariç tutar. Aynı başlığa sahip orijinal ürün yine de görüntülenmek. Bu kodun yalnızca basit ürünler için çalıştığını unutmayın. Değişken ürünleri (varyasyonlu ürünler) dahil etmek istiyorsanız, SQL sorgusunu buna göre değiştirmeniz gerekecektir.
Umarım bu yardımcı olur! Herhangi bir sorunuz varsa bana bildirin.