Fix invisible variations when get_price is filtered and set to (double) 0.

When filtering get_price on a variation and setting its value to (double) 0, then it becomes invisible unless we explicitly return a '0' string when the calculated filtered price is zero.

Oddly enough, setting a variation price to 0 in core doesn't hide that variation, so I assume that the price never gets converted to double.