如果什么都没有显示的话,可以选择WooCommerce



我有一个代码片段,显示在我的网站上出售的门票。这会在产品列表中显示它们。

它只显示是否有票售出,但如果没有售出,我希望它显示"0"。

//shop page - show tickets sold
add_action('woocommerce_after_shop_loop_item_title', 'sold_tickets', 15);
function sold_tickets() {
global $post;
$subtitle = get_post_meta($post->ID, '_lottery_participants_count', true);
if( !empty( $subtitle ) ) {
echo __("<span class='sold'>Sold</span>", '');
echo "<span class='soldtickets'>".$subtitle.'</span>';
} 
}

我认为它是if( !empty( $subtitle ) ) {,但不确定如何使其显示默认值。

您可以使用以下代码:


function sold_tickets() {
global $post;
$subtitle = get_post_meta($post->ID, '_lottery_participants_count', true);
echo __("<span class='sold'>Sold</span>", '');
echo "<span class='soldtickets'>".($subtitle ?: '0')."</span>";
}

这是对以下代码的简化(使用elvis运算符(,您可能会更好地理解:


function sold_tickets() {
global $post;
$subtitle = get_post_meta($post->ID, '_lottery_participants_count', true);
if(!empty($subtitle)){
echo __("<span class='sold'>Sold</span>", '');
echo "<span class='soldtickets'>".$subtitle."</span>";
} else {
echo __("<span class='sold'>Sold</span>", '');
echo "<span class='soldtickets'>0</span>";
}
}

相关内容

最新更新