添加过滤器挂钩以在产品是变量时显示销售日期

时间:2016-03-16 09:41:04

标签: php wordpress woocommerce wordpress-theming

我正在努力让Woocommerce显示可变产品的预定结束日期。下面的代码片段适用于简单的woocommerce产品,但不适用于具有变化的产品。我尝试使用全局变量$ variations,$ product,#product_id。变体具有相同的销售日期(从/到)。

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( $sales_price_to != "" )
    {
        $sales_price_date_to = date("d/m/y", $sales_price_to);

        return str_replace( '</ins>', ' </ins> <br /><br />(Sales end on: '.$sales_price_date_to.')', $price );
    }
    else
    {
        return apply_filters( 'woocommerce_get_price', $price );        
    }
}

任何想法请回答我的问题。 感谢您的帮助!!

1 个答案:

答案 0 :(得分:0)

好的尝试了这个,不是很好但是我在变量产品hahahhaha中显示了一个未知的日期,我需要这个但是这可能启发它使它工作:D,是和推进,我根本不擅长php:D

    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);
    $sales_price_to_variable = get_post_meta($variation_id, '_sale_price_dates_to', true);

    if($product->is_type( 'simple' ) && $sales_price_to != "" )
    {
        $sales_price_date_to = date("j M y", $sales_price_to);
        return str_replace( '</ins>', ' </ins> <div style="margin-top:10px;">(Descuento hasta '.$sales_price_date_to.')</div>', $price );
    }

    else if ( $product->is_type( 'variable' ) ){
        $sales_price_date_to = date("j M y", $sales_price_to_variable);
        return str_replace( '</ins>', ' </ins> <div style="color:white;">(Descuento hasta '.$sales_price_date_to.')</div>', $price );
    }
    else
    {
        return apply_filters( 'woocommerce_get_price', $price );
    }
}