Ignore Collider Grip, Object / Player Knockback

I made a 2D Jump and Run and i want if a Player hit a trap that he get knockback. If i jump (then i am not grounded) and i hit the trigger from my trap my Code :

void OnTriggerEnter2D(Collider2D other)
{
    if (other.gameObject.tag == "Player")
    {
        if (Time.time > lastAttackTime + attackCooldwon)
        {
            lastAttackTime = Time.time;
            other.GetComponent<PlayerHealth>().TakeDamage(damage);
            if(gameObject.name == "LeftCollider")
            {
                other.GetComponent<PlayerControl>().controlEnabled = false;
                transform.Translate(0, 0, 0);
                other.GetComponent<Rigidbody2D>().velocity = new Vector2(-7, 5);
            }
            if (gameObject.name == "RightCollider")
            {
                other.GetComponent<PlayerControl>().controlEnabled = false;
                transform.Translate(0, 0, 0);              
                other.GetComponent<Rigidbody2D>().velocity = new Vector2(7, 5);
            }
        }
    }
}

it works perfect but if I walk in my trigger (then i am grounded) i will get no knockback to the X aixs and only low to the Y aixs.
And If i change the Physic Matirals to (Friction = 0) no Grip it wouldn’t work.
I think it is because the Player collide to the ground and then he can’t get knockback.

Thanks for your help.

You may have better luck using AddForce() instead of setting the velocity directly.

    void OnTriggerEnter2D(Collider2D other)
    {
        // ...
        if (gameObject.name == "RightCollider")
        {
            other.GetComponent<PlayerControl>().controlEnabled = false;
            other.GetComponent<Rigidbody2D>().AddForce(new Vector2(7, 5), ForceMode2D.Impulse);
        }
        // ...
    }

this line transform.Translate(0, 0, 0); seems redundant by the way.