The loop guard is enabled on a per-port basis. However, as long as it blocks the port on the STP level, it blocks inconsistent ports on a per-VLAN basis (because of per-VLAN STP). That is, if on the trunk port, BPDUs are not received for only one particular VLAN, only that VLAN will be blocked (moved to loop-inconsistent STP state). For the same reason, if enabled on an EtherChannel interface, the entire channel will be blocked for a particular VLAN, not just one link (because EtherChannel is regarded as one logical port from STP point of view).
http://www.cisco.com/warp/public/473/84.html