Hi,
Your code looks globally good. You can use only number and not string, it will unsure you that the check are valid.
if(in_array( (int)$this->row->product_category, array(28)) ) {
After that, if it don't work, you can add some "debug traces" in order to check where the code go.
Putting some
(#2, #3...) in order to see if you're editing the right view, if the code enter in the if or in the else, etc.
You can also make some "var_dump" in order to see the content of a variable, it is always useful for checks.
Regards,