Я думаю, у вас есть опечатка в коде, который вы разместили; Вы, вероятно, хотите проверить, не являются ли «подполя» пустыми, отметив <?php if ( $objective_label ): ?>
вместо <?php if ( $objective_desc ): ?>
, верно? Если вы просто проверяете, является ли $objective_desc
пустым каждый раз, вы можете сделать все это в пределах одного if
блока.
Будьте осторожны с использованием пустых if
операторов, чтобы проверить, является ли переменная пустой. Вы должны использовать empty вместо: <?php if ( empty($objective_desc) ): ?>
. В вашем коде вы устанавливаете $jective_desc наверх, поэтому он будет оцениваться как true , даже если в нем ничего нет.
Вероятно, есть какой-то запутанный способ, которым вы можете настроить циклы и дополнительные переменные, чтобы сделать его более "элегантным", но, поскольку вы, честно говоря, изменяете другие элементы HTML на основе подполя (<h2>
, <p>
и т. Д.), вам лучше копировать и вставлять в кучу if
операторов. Это будет понятнее, работать так же быстро, и будет легче отлаживать. Мои два цента.