#wordpress #woocommerce
Вопрос:
Я пытаюсь отобразить диапазон дат продажи от->до на странице моего продукта. Мой код работает для простых продуктов, но для переменных я не могу заставить его работать. Я пытаюсь уже некоторое время, но безуспешно, я думаю, что я почти на месте, и мне не хватает чего-то простого. Я надеюсь, что кто-нибудь сможет мне помочь, так как мне действительно нужно, чтобы это работало, и было бы удивительно достичь этого.
$alreadyran = false;
function flux_sale_end_date_to_product_price( $price_html, $product ) {
$child = $product->get_children();
if($alreadyran){
return $price_html;
}
$alreadyran = true;
$sale_price = $product->get_sale_price();
$from = $product->get_date_on_sale_from();
if (
empty( $from ) ||
! $product->is_on_sale() ||
! is_single()
) {
return $price_html;
}
$output_content = '';
$date_format = apply_filters( 'flux_date_format', get_option( 'date_format' ) );
$sale_from_text = apply_filters( 'flux_sale_from_text', __( 'Promoção válida de', 'woocommerce-onsale-information' ) );
$sale_ends_on_text = apply_filters( 'flux_sale_ends_on_text', __( 'até', 'woocommerce-onsale-information' ) );
$wrapper_css_class = apply_filters( 'flux_wrapper_css_class', 'flux_wrapper' );
$sale_from_css_class = apply_filters( 'flux_sale_from_css_class', 'flux_sale_from_date' );
$sale_end_css_class = apply_filters( 'flux_sale_end_css_class', 'flux_sale_end_date' );
if ( $product->get_date_on_sale_from() ) {
$sale_from_date = date_i18n( $date_format, $product->get_date_on_sale_from()->getTimestamp() );
$sale_from_html = '<div class="' . $sale_from_css_class . '">' . $sale_from_text . ' ' . $sale_from_date . ' </div>';
$output_content .= $sale_from_html;
}
if ( $product->get_date_on_sale_to() ) {
$sale_end_date = date_i18n( $date_format, $product->get_date_on_sale_to()->getTimestamp() );
$sale_end_html = '<div class="' . $sale_end_css_class . '">' . $sale_ends_on_text . ' ' . $sale_end_date . ' </div>';
$output_content .= $sale_end_html;
}
$output = '<div class="' . $wrapper_css_class . '">' . $output_content . '</div>';
return apply_filters( 'flux_price_html', $price_html . $output );
}
add_filter( 'woocommerce_get_price_html', 'flux_sale_end_date_to_product_price', 100, 2 );