I've been out of Source mapping for a while, so this might be all wrong, but here's my idea.
Make a second trigger (I will call this the "wall trigger"), identical to the first (the "player trigger"), and make both into trigger_multiple. Set up a filter_activator_name to make the wall trigger react only to your wall info_target. Create a logic_relay.
Set up your player trigger to trigger the logic_relay when it detects the player, and set this up with a small delay – say, 0.1 seconds. Then set up your wall trigger to disable the logic_relay when it detects the wall, without any delay. Lastly, set up the logic_relay to perform whatever actions should be performed when the player is detected, and to disable or delete both triggers.
What's happening is this: the logic_relay does nothing but forward the "player detected" impulse from the player trigger. Think of it as a road or water pipe, stuff just gets funnelled through it. The wall trigger detects if the soldier is looking at a wall and disables the relay if so, meaning if the soldier "sees" the player "through" a wall, the pipe that passes that information on is closed and no alarm is triggered / hostile action initiated / whatever you have planned. And since the player trigger has a slight delay before it fires at the logic_relay, the wall trigger can disable it before that happens. Due to the two trigger nature, your trigger_once has to become a trigger_multiple, as it will repeatedly "see" the player through walls, and the "only once" nature is instead taken over by the logic_relay's "deleted or disable both triggers once the player is detected" output.
A simpler version of this would be to skip the relay and just make the wall trigger disable the player trigger, but I'm not sure how that could be made to work, since both could detect the player and wall simultaneously and the "player detected" output might be fired before it's disabled.
Again, I haven't done any Source mapping for years until recently, so this might be completely wrong, but that's how I would try it. If anyone has a better idea, forget I said anything.