PHP: unexpected 'echo' при использовании тернарного оператора в шаблоне WordPress
Вывожу изображение страницы в качестве фона для блока. Поскольку не у всех страниц есть изображения, то пишу проверку: если есть thumbnail, ставить его, если нет - картинку-заглушку. В таком виде всё работает:
<div class="thumbnail-block" style="background-image: url(
<?php
if (has_post_thumbnail()) {
the_post_thumbnail_url();
} else {
echo get_template_directory_uri().'/assets/img/single-fon.jpg';
}
?>
)">
Захотел упростить эту конструкцию и сделать проверку через тернаторный оператор:
<div class="thumbnail-block" style="background-image: url(<?php (has_post_thumbnail()) ? the_post_thumbnail_url() : echo get_template_directory_uri().'/assets/img/single-fon.jpg'; ?>)">
Но при такой записи получаю ошибку: Parse error: syntax error, unexpected 'echo' (T_ECHO)
Вопрос: почему при записи if else нет проблем с echo, а при использовании тернарного оператора она появляется? И как её исправить?