magento2 – How to add filter to a already working custom sales order grid column module?

Try below code :-

XML file code change below code your column name

<columns name="sales_order_columns">
        <column name="short_name" class="VendorModuleNameUiComponentListingColumnMycolumn">
            <argument name="data" xsi:type="array">
                <item name="config" xsi:type="array">
                    <item name="filter" xsi:type="string">text</item>
                    <item name="label" xsi:type="string" translate="true">My Column</item>
                </item>
            </argument>
        </column>
    </columns>

Filter the text in your custom column below codes :-

/etc/adminhtml/di.xml

<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd">
    <type name="MagentoFrameworkViewElementUiComponentDataProviderReporting">
        <plugin name="sales_grid_collection" type="VendorModuleNameModelPluginSalesOrderGrid"/>
    </type>
</config>

And then last create plugin model file Grid.php under

/Model/Plugin/Sales/Order/Grid.php

<?php
namespace VendorModuleNameModelPluginSalesOrder;
 
 
class Grid
{
 
    public static $table = 'sales_order_grid';
    public static $leftJoinTable = 'custom_order';
 
    public function afterSearch($intercepter, $collection)
    {
        if ($collection->getMainTable() === $collection->getConnection()->getTableName(self::$table)) {
 
            $leftJoinTableName = $collection->getConnection()->getTableName(self::$leftJoinTable);
 
            $collection
                ->getSelect()
                ->joinLeft(
                    ('co'=>$leftJoinTableName),
                    "co.order_id = main_table.entity_id",
                    (
                        'short_name' => 'co.short_name'
                    )
                );
 
            $where = $collection->getSelect()->getPart(MagentoFrameworkDBSelect::WHERE);
 
            $collection->getSelect()->setPart(MagentoFrameworkDBSelect::WHERE, $where);
 
            //echo $collection->getSelect()->__toString();die;
 
 
        }
        return $collection;
 
 
    }
 
 
}

And above code you can add multiple filter columns like :-

$collection
 ->getSelect()
 ->joinLeft(
     ('co'=>$leftJoinTableName),
       "co.order_id = main_table.entity_id",
     (
       'short_name1' => 'co.short_name1',
       'short_name2' => 'co.short_name2'
     )
  );

THANKS.