Почему тернарный оператор не работает в WordPress?

Почему данная конструкция тернарного оператора не работает в WordPress? <br/> <br/> <pre><code class="php">&lt;header class="&lt;?php (is_front_page()) ? 'black_bg' : 'white_bg'; ?&gt;"&gt;</code></pre> <br/> <br/> Как следует правильно написать эту конструкцию?
  • 7 октября 2024 г. 17:34
Ответы на вопрос 2
Ваш тернарный оператор не работает из-за того, что вы не выводите его результат в HTML-атрибуте. В приведенном вами коде вы используете тернарный оператор, но не делаете вывод, а просто записываете его как часть строки.

Ваша конструкция в данном виде не будет правильно интерпретироваться. Чтобы исправить это, вам нужно использовать `echo` для вывода значения тернарного оператора. Попробуйте следующее:

```php
<header class="<?php echo (is_front_page()) ? 'black_bg' : 'white_bg'; ?>">
```

В этом исправленном варианте с помощью `echo` вы выводите результат тернарного оператора в атрибут класса элемента `header`. Теперь код будет работать правильно, выводя либо `black_bg`, либо `white_bg` в зависимости от того, находитесь ли вы на главной странице.
<header class="<?php echo (is_front_page()) ? 'black_bg' : 'white_bg'; ?>">
Похожие вопросы