Измените базовый php на if, если php - PullRequest
0 голосов
/ 27 декабря 2018

Мне нужна помощь, разбивая php-код внутри тега.По сути, я хочу, чтобы кнопка появлялась только при наличии ссылки.Если ссылки нет, я не хочу, чтобы появлялась пустая кнопка.Есть идеи как это сделать?

<div class="button"><a href="<?php the_sub_field( 'funding_link' ); ?>">Donate</a></div>

Ответы [ 3 ]

0 голосов
/ 27 декабря 2018

the_sub_field() функция может производить вывод (ссылка), или нет.

Первое, что нужно сделать, это захватить этот вывод, используя буфер вывода вчтобы проверить его содержимое:

<?php
    ob_start();
    the_sub_field( 'funding_link' );
    $link = ob_get_clean();

Далее просто проверьте содержимое $link: если не пустая строка, выведите HTML-код кнопки

    if( $link != "" )
    {
        echo "<div class=\"button\"><a href=\"$link\">Donate</a></div>";
    }

Наконец закройте код PHPblock

?>

Если вы используете дополнительные настраиваемые поля , тогда

the_sub_field(...)

isэквивалентно

echo get_sub_field(...)

В этом случае решение проще, поскольку вы можете просто получить ссылку на переменную без использования буфера:

<?php
    $link = get_sub_field( 'funding_link' );
    if( $link != "" )
    {
        echo "<div class=\"button\"><a href=\"$link\">Donate</a></div>";
    }
?>
0 голосов
/ 27 декабря 2018

Хорошо, ребята, я ценю помощь всех.Я понял это со следующим дополнением

<?php if( get_sub_field('funding_link') ): ?>
<div class="button"><a href="<?php the_sub_field( 'funding_link' ); ?>">Donate</a></div>
<?php endif; ?>
0 голосов
/ 27 декабря 2018

Насколько я вижу, у вас есть html в вашем php-файле, один из способов сделать это выглядит следующим образом:

<?php
    $mycondition = false;
    // your condition should be something like
    // $mycondition = the_sub_field( 'funding_link' );
    // if the string is empty it's also considered a false value
?>
<?php if($mycondition):?>
    <a href="somelink.html">Donate</a>
<?php else:?>
    <!--here goes nothing-->
<?php endif;?>

Другой способ сделать это с помощью выстрела, если

<?=($condition)?"let's show the link":"let's show nothing"?>

Попробуйте онлайн!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...