Для это го нужно завести мета поле (queue) для товаров . К примеру в Advanced Custom Fields

 

 

/* * *********** Добавляем сортировку по пользовательским свойствам ************* */

/**
 *  Определяем критерии для сортировки с опциями, определяемыми способом ниже
 */
add_filter('woocommerce_get_catalog_ordering_args', 'custom_woocommerce_get_catalog_ordering_args');

function custom_woocommerce_get_catalog_ordering_args($args) {
    global $wp_query;

    $orderby_value = isset($_GET['orderby']) ? wc_clean($_GET['orderby']) : apply_filters('woocommerce_default_catalog_orderby', get_option('woocommerce_default_catalog_orderby'));

    // Get order + orderby args from string
    $orderby_value = explode('-', $orderby_value);
    $orderby = esc_attr($orderby_value[0]);
    $order = ! empty( $orderby_value[1] ) ? $orderby_value[1] : $order;
    
    $orderby = strtolower( $orderby );
    $order   = strtoupper( $order );
    
//     log_info($orderby, "orderby");
//     log_info($order, "order");

    // Изменили $_SESSION на $_GET
    if (isset($orderby)) {
        switch ($orderby) :
            case 'pa_pub_featured' :
                $args['order'] = $order == 'DESC' ? 'DESC' : 'ASC';
                $args['meta_key'] = 'queue';
                $args['orderby'] = 'meta_value_num ID';
                break;
        endswitch;
    }
    return $args;
}

/**
 *  Добавляем способ сортировки в выпадающий список. Логика/критерии в методе выше
 */
add_filter('woocommerce_catalog_orderby', 'custom_woocommerce_catalog_orderby');
add_filter('woocommerce_default_catalog_orderby_options', 'custom_woocommerce_catalog_orderby');

function custom_woocommerce_catalog_orderby($sortby) {
    $sortby['pa_pub_featured-ASC'] = 'Сортировать по умолчанию ';
    return $sortby;
}