在销售产品页面上显示销售结束的天数

时间:2017-06-07 15:11:22

标签: wordpress woocommerce

我从这里得到了这段代码(Display woocommerce sale end date

add_filter( 'woocommerce_get_price_html', 'custom_price_html', 100, 2 );
function custom_price_html( $price, $product )
{
    global $post;
    $sales_price_to = get_post_meta($post->ID, '_sale_price_dates_to', true);
    if(is_single() && $sales_price_to != "")
    {
        $sales_price_date_to = date("j M y", $sales_price_to);
        return str_replace( '</ins>', ' </ins> <b>(Sale ends '.$sales_price_date_to.')</b>', $price );
    }
    else
    {
        return apply_filters( 'woocommerce_get_price', $price );
    }
}

在产品页面上的效果非常好,但我需要帮助才能显示此代码,以显示销售结束的日期。例如。根据具体情况,销售在1天/ 2天/ 3天等结束。此外,还不仅在产品页面上显示销售产品页面。

1 个答案:

答案 0 :(得分:0)

此代码应该可以胜任!将其粘贴在functions.php

add_filter( 'woocommerce_get_price_html', 'add_end_sale_to_price', 100, 2 );
function add_end_sale_to_price( $price, $product )
{
    global $post;
    $sales_price_to = get_post_meta($post->ID, '_sale_price_dates_to', true);
    if($sales_price_to != "")
    {
        $now = time();
        $sales_price_date_to = date("Y-m-d", $sales_price_to);
        $end_date = strtotime($sales_price_date_to);
        $days_left = $end_date - $now;
        $days_left = floor($days_left / (60 * 60 * 24));

        return str_replace( '</ins>', ' </ins> <b>(Sale ends in '.$days_left.' days)</b>', $price );
    }
    else
    {
        return apply_filters( 'woocommerce_get_price', $price );
    }
}

干杯,

弗朗西斯