WooCommerce - Как показать цену продажи, только если она определена?В противном случае показывать только обычную цену - PullRequest
0 голосов
/ 08 февраля 2019

Итак, у меня есть этот код на моей домашней странице для рекомендуемых продуктов в WooCommerce, и он работает, но мне нужно, чтобы они скрывали цену продажи, если она равна нулю или не определена.Вот что я получил до сих пор:

<?php $price = get_post_meta( get_the_ID(), '_regular_price', true ); ?>
<?php $sale = get_post_meta( get_the_ID(), '_sale_price', true ); ?>
    <p>
        <del>
            <span class="amount"><?php echo wc_price($price); ?></span>
        </del>
        <ins>
            <span class="amount"><?php echo wc_price($sale); ?></span>
        </ins>
    </p>

Мне нужен код, который может проверить, есть ли цена продажи, и показать:

<p>
    <del>
        <span class="amount"><?php echo wc_price($price); ?></span>
    </del>
    <ins>
        <span class="amount"><?php echo wc_price($sale); ?></span>
    </ins>
</p>

И если нет цены продажиопределено, только шоу:

<p>
    <ins>
        <span class="amount"><?php echo wc_price($price); ?></span>
    </ins>
</p>

Кто-нибудь может мне помочь с этим ??

Ответы [ 2 ]

0 голосов
/ 08 февраля 2019
$price = get_post_meta( get_the_ID(), '_regular_price', true ); 
$sale = get_post_meta( get_the_ID(), '_sale_price', true ); ?>
<p>
   <?php if( $sale ) { ?>
    <del>
    <span class="amount"><?php echo wc_price($price); ?></span>
    </del>

    <ins>
        <span class="amount"><?php echo wc_price($sale); ?></span>
    </ins>
    <?php } else { ?>
        <span class="amount"><?php echo wc_price($price); ?></span>
    <?php } ?>
</p>

Просто проверьте цену продажи имеют значение

0 голосов
/ 08 февраля 2019

Вам просто нужно обернуть его в некоторые условия.Примерно так будет работать:

<p>
    <?php if(isset($sale) ):?>
    <del>
        <span class="amount"><?php echo wc_price($price); ?></span>
    </del>
    <?php endif;?>
    <ins>
        <span class="amount"><?php echo isset($sale) ? wc_price($sale) : wc_price($price); ?></span>
    </ins>
</p>

Первоначальный оператор if проверяет, есть ли цена продажи, если она есть, он отображает блок <del></del>.Затем в блоке <ins></ins> троичный оператор используется для управления выводом цены.

<?php echo isset($sale) ? wc_price($sale) : wc_price($price); ?>

Эквивалентно

<?php 
     if (isset($sale)) {
        echo wc_price($sale);
     } else {
        echo wc_price($price);
     }
?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...