The reason it is selecting the closest player to the command block is because you have set the selector to @p
, which selects the closest player to the command block to fit the rule...
You're better off selecting everybody who the rule fits to run the command on.
/execute @a[r=10000] ~ ~ ~ detect ~ ~-1 ~ wool 15 effect @p invisibility 12 3 true
This command executes the /effect
command on everybody who is within 10,000 blocks of your command block and has a Black Wool block under their feet.
Also, when specifying the command to run, you do not need a second slash.
Secondly, don't forget to run this command in a redstone clock!