第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

使用短代碼顯示產(chǎn)品價格,包括 WooCommerce 中的可變產(chǎn)品

使用短代碼顯示產(chǎn)品價格,包括 WooCommerce 中的可變產(chǎn)品

PHP
HUWWW 2023-05-26 15:57:28
我在 WooCommerce 優(yōu)秀答案中使用按產(chǎn)品 ID 顯示產(chǎn)品價格和短代碼,通過短代碼顯示產(chǎn)品價格,但我需要一個解決方案,它也可以顯示可變產(chǎn)品的價格范圍。價格范圍應(yīng)顯示所有變體的最低可購買價格(常規(guī)或促銷)到所有變體的最高可購買價格。它不需要顯示促銷價和常規(guī)價格的兩個范圍,只需一個范圍顯示您實際可以購買的價格,無論是促銷價還是常規(guī)價。例如:變化 1 - 價格 4.00變體 2 - 價格 4.00 促銷價 3.00變化 3 - 價格 6.00 促銷價 5.00變化 4 - 價格 8.00以上應(yīng)顯示 3.00 - 8.00 的價格范圍代碼目前處理單一產(chǎn)品的方式不需要改變,我只需要向其中添加可變產(chǎn)品。我使用的確切代碼如下:function custom_price_shortcode_callback( $atts ) {$atts = shortcode_atts( array(? ? 'id' => null,), $atts, 'product_price' );$html = '';if( intval( $atts['id'] ) > 0 && function_exists( 'wc_get_product' ) ){? ? // Get an instance of the WC_Product object? ? $product = wc_get_product( intval( $atts['id'] ) );? ? // Get the product prices? ? $price? ? ? ? ?= wc_get_price_to_display( $product, array( 'price' => $product->get_price() ) ); // Get the active price? ? $regular_price = wc_get_price_to_display( $product, array( 'price' => $product->get_regular_price() ) ); // Get the regular price? ? $sale_price? ? = wc_get_price_to_display( $product, array( 'price' => $product->get_sale_price() ) ); // Get the sale price? ? // Formatting price settings (for the wc_price() function)? ? $args = array(? ? ? ? 'ex_tax_label'? ? ? ?=> false,? ? ? ? 'decimal_separator'? => '.',? ? ? ? 'thousand_separator' => ',',? ? ? ? 'decimals'? ? ? ? ? ?=> 2,? ? ? ? 'price_format'? ? ? ?=> '%1$s%2$s',? ? );? ? // Formatting html output? ? if( ! empty( $sale_price ) && $sale_price != 0 && $sale_price < $regular_price )? ? ? ? $html = "<br/><del>" . wc_price( $regular_price, $args ) . "</del> " . wc_price( $sale_price, $args ); // Sale price is set? ? else? ? ? ? $html = "<br/>" . wc_price( $price, $args ); // No sale price set}return $html;也許可以從WooCommerce 可變產(chǎn)品價格前綴中合并這個答案?
查看完整描述

2 回答

?
慕田峪7331174

TA貢獻1828條經(jīng)驗 獲得超13個贊

我正在使用以下解決方案,這與我的初衷并不完全相同,因為它沒有顯示可變產(chǎn)品的價格范圍,而是實際顯示“發(fā)件人”消息(可以更改),然后是單一價格。


但是,它現(xiàn)在通過短代碼適用于標(biāo)準(zhǔn)產(chǎn)品和可變產(chǎn)品,我需要的也是如此。


function custom_price_shortcode_callback( $atts ) {


$atts = shortcode_atts( array(

    'id' => null,

), $atts, 'product_price' );


$html = '';


if( intval( $atts['id'] ) > 0 && function_exists( 'wc_get_product' ) ){


$product = wc_get_product( intval( $atts['id'] ) );


if ( $product->is_type( 'variable' ) ){ 


        $prefix = sprintf('%s ', __('From','woocommerce'));

        $min_price_regular = $product->get_variation_regular_price( 'min', true );

        $min_price_sale    = $product->get_variation_sale_price( 'min', true );

        $max_price = $product->get_variation_price( 'max', true );

        $min_price = $product->get_variation_price( 'min', true );


    $price = ( $min_price_sale == $min_price_regular ) ? wc_price( $min_price_regular ) : wc_price( $min_price_sale );

    return 

    ( $min_price == $max_price ) ? sprintf('<br/>' . $price) : $html = sprintf('<br/><span class="from-price">%s%s</span>', $prefix, $price);

}



else{


// Get the product prices

$price         = wc_get_price_to_display( $product, array( 'price' => $product->get_price() ) ); // Get the active price

$regular_price = wc_get_price_to_display( $product, array( 'price' => $product->get_regular_price() ) ); // Get the regular price

$sale_price    = wc_get_price_to_display( $product, array( 'price' => $product->get_sale_price() ) ); // Get the sale price


// Formatting price settings (for the wc_price() function)

$args = array(

    'ex_tax_label'       => false,

    'decimal_separator'  => '.',

    'thousand_separator' => ',',

    'decimals'           => 2,

    'price_format'       => '%1$s%2$s',

);


// Formatting html output

if( ! empty( $sale_price ) && $sale_price != 0 && $sale_price < $regular_price )

    $html = "<br/><del>" . wc_price( $regular_price, $args ) . "</del> " . wc_price( $sale_price, $args ); // Sale price is set

else

    $html = "<br/>" . wc_price( $price, $args ); // No sale price set

}

}

return $html;

add_shortcode( 'product_price', 'custom_price_shortcode_callback' );


查看完整回答
反對 回復(fù) 2023-05-26
?
江戶川亂折騰

TA貢獻1851條經(jīng)驗 獲得超5個贊

使用 Booster for woocommerce 插件。并將這個 [wcj_product_price] 簡碼放在任何你想要的地方。它將顯示帶有貨幣符號的簡單或可變產(chǎn)品價格。而且這個插件對woommerce很有幫助。



查看完整回答
反對 回復(fù) 2023-05-26
  • 2 回答
  • 0 關(guān)注
  • 317 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號