Dostlar selamlar wordpresste ana kategorilerin ürün sıralaması düzenlemesini yapmaya çalısıyorum

// SOFA-SETS SIRALAMASI


add_action('pre_get_posts', 'custom_sort_sofa_sets_by_subcategory');

function custom_sort_sofa_sets_by_subcategory($query) {
    // Yönetici paneli sorgularını veya WooCommerce dışındaki sorguları etkileme
    if (is_admin() || !$query->is_main_query() || !is_product_category('sofa-sets')) {
        return;
    }

    // Alt kategorilerin slug'ları
    $priority_categories = array(
        'corner-sets',                 // 1.
        'luxury-classic-sofa-set',     // 2.
        'office-sofa-sets',            // 3. 
        'outdoor-horeca-lounge-set',   // 4.
    );

    // Öncelikli ürünlerin ID'lerini çekmek için bir dizi oluştur
    $priority_product_ids = array();

    foreach ($priority_categories as $category_slug) {
        $category = get_term_by('slug', $category_slug, 'product_cat');
        if ($category) {
            // Alt kategorideki ürünlerin ID'lerini al
            $products = get_posts(array(
                'post_type' => 'product',
                'posts_per_page' => -1,
                'fields' => 'ids',
                'tax_query' => array(
                    array(
                        'taxonomy' => 'product_cat',
                        'field' => 'term_id',
                        'terms' => $category->term_id,
                    )
                )
            ));
            $priority_product_ids = array_merge($priority_product_ids, $products);
        }
    }

    // "sofa-sets" ana kategorisindeki ürünleri al
    $sofa_sets_parent_products_ids = get_posts(array(
        'post_type' => 'product',
        'posts_per_page' => -1,
        'fields' => 'ids',
        'tax_query' => array(
            array(
                'taxonomy' => 'product_cat',
                'field' => 'term_id',
                'terms' => get_term_by('slug', 'sofa-sets', 'product_cat')->term_id, // Ana kategori "sofa-sets"
                'operator' => 'IN', // Ana kategorideki ürünleri almak için
            )
        )
    ));

    // Tüm ürünlerin ID'lerini birleştiriyoruz
    $all_product_ids = array_merge($priority_product_ids, $sofa_sets_parent_products_ids);

    // Sıralamayı yap
    if (!empty($all_product_ids)) {
        $query->set('orderby', 'post__in');
        $query->set('post__in', array_unique($all_product_ids));
    }
}
Hali hazırda şöyle bir kodum var
    // Alt kategorilerin slug'ları
    $priority_categories = array(
        'corner-sets',                 // 1.
        'luxury-classic-sofa-set',     // 2.
        'office-sofa-sets',            // 3. 
        'outdoor-horeca-lounge-set',   // 4.
    );
alt kategorileri bu şekilde sıralıyorum bir problem yok fakat bu sistem ana kategorinin alt kategorilerindeki olan ürünleri sıralıyor


benim istediğim farklı ana kategorideki bazı ürünleri de sofa-sets kategorisinde örneğin 2 ci sıraya almak

bunun farklı yollardan nasıl yaparız örneğin bazı ürünlere tag eklesem tagdaki ürünleri sıralamaya ekleyebilir miyim?
birde ürün mutlaka ana kategoride seçili mi olması gerekiyor
teşekkürler