Проверьте, пусто ли в троичном операторе - PullRequest
1 голос
/ 25 апреля 2019

У меня есть оператор Turnery, который проверяет, имеет ли тип сообщения Wordpress формат ссылки. Если это так, он выводит настраиваемое поле, а если нет, то выводит постоянную ссылку.

Как мне также проверить, не заполнено ли пользовательское поле? Таким образом, если оно пустое, выводится постоянная ссылка, а если нет, выводится настраиваемое поле.

Это то, что я имею до сих пор.

<h3><a href="<?php get_post_format() == 'link' ? the_field("external_link") : the_permalink(); ?>" rel="bookmark" title="<?php the_title_attribute(); ?>"><?php the_title(); ?></a></h3>

Я думаю, что-то вроде этого, но, похоже, это не работает.

<h3><a href="<?php get_post_format() == 'link' && the_field("external_link") !="" ? the_field("external_link") : the_permalink(); ?>" rel="bookmark" title="<?php the_title_attribute(); ?>"><?php the_title(); ?></a></h3>

Ответы [ 2 ]

1 голос
/ 25 апреля 2019

2 способа сделать это: -

1.Добавить () вокруг условия

<h3><a href="<?php (get_post_format() == 'link' && the_field("external_link") !="") ? the_field("external_link") : the_permalink(); ?>" rel="bookmark" title="<?php the_title_attribute(); ?>"><?php the_title(); ?></a></h3>

2. Проверьте условие и сначала присвойте его переменной, а затем используйте его

<?php $link = (get_post_format() == 'link' && the_field("external_link") !="") ? the_field("external_link") : the_permalink();
<h3><a href="<?php echo $link; ?>" rel="bookmark" title="<?php the_title_attribute(); ?>"><?php the_title(); ?></a></h3>
1 голос
/ 25 апреля 2019

Это должно работать, если значения в порядке:

<?php (get_post_format() == 'link' && the_field("external_link")) ? the_field("external_link") : the_permalink(); ?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...