Причина, по которой он не выходит за пределы первого if
, заключается в том, что у него есть else
, который просто возвращается - поэтому, если вы продумаете это логически, вы увидите, что если $ status не является wc-processing, то return (ифункция выхода) - другими словами, она никогда не выходит за пределы первой if
.
Вместо этого вы можете рассмотреть возможность использования switch/case
, что делает чтение намного проще, чем несколько if/elseif
с, напримерэто:
switch ( $status ) {
case "wc-processing":
return "WAA";
break;
case "wc-cancelled":
return "WAC";
break;
default:
return $status;
}
(в случае, если вас интересует break
- хотя в этом случае это не является строго необходимым (так как функция будет завершена с return
), это хорошопрактикуйтесь в ИМХО, чтобы всегда не забывать использовать его каждый раз, когда пишете структуру switch
. Подробнее на странице ниже.)
Дополнительная информация: http://php.net/manual/en/control-structures.switch.php