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

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

在伍商務(wù)中獲取并顯示所選變體SKU

在伍商務(wù)中獲取并顯示所選變體SKU

PHP
精慕HU 2022-09-25 19:05:53
我有這個代碼,適用于簡單的產(chǎn)品類型,但不適用于WooCommerce中的可變產(chǎn)品:add_shortcode( 'product_sku_div', 'wc_product_sku_div'); function wc_product_sku_div() {     global $product;    return sprintf( '<div class="widget" sp-sku="%s"></div>', $product->get_sku() );}如何使其同時適用于簡單和可變產(chǎn)品?
查看完整描述

3 回答

?
斯蒂芬大帝

TA貢獻(xiàn)1827條經(jīng)驗(yàn) 獲得超8個贊

為了使它也適用于可變產(chǎn)品及其變體,它需要 Javascript (jQuery) 來獲取可變產(chǎn)品的所選變體 SKU。


請嘗試以下適用于簡單可變商品類型的操作,并顯示可變商品的所選變體 SKU:


add_shortcode( 'product_sku_div', 'wc_product_sku_div');

function wc_product_sku_div() {

    global $product;


    if( ! is_a('WC_Product', $product) ) {

        $product = wc_get_product( get_the_id() );

    }


    ## 1 - For variable products (and their variations)

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

        ob_start(); // Starting buffering


        ?>

        <div class="widget" sp-sku=""></div>

        <script type="text/javascript">

        jQuery( function($){

            $('form.variations_form').on('show_variation', function( event, data ){

                $( 'div.widget' ).attr( 'sp-sku', data.sku );

                // For testing

                console.log( 'Variation Id: ' + data.variation_id + ' | Sku: ' + data.sku );

            });

            $('form.variations_form').on('hide_variation', function(){

                $( 'div.widget' ).attr( 'sp-sku', '' );

            });

        });

        </script><?php


        return ob_get_clean(); // return the buffered content

    }

    ## 2 - For other products types

    else {

        return sprintf( '<div class="widget" sp-sku="%s"></div>', $product->get_sku() );

    }

}

代碼進(jìn)入函數(shù).php活動子主題(或活動主題)的文件。經(jīng)過測試并工作。


查看完整回答
反對 回復(fù) 2022-09-25
?
素胚勾勒不出你

TA貢獻(xiàn)1827條經(jīng)驗(yàn) 獲得超9個贊

您需要變體 ID 才能獲取可變產(chǎn)品的 SKU。

如果在以下函數(shù)中傳遞變體 ID,則可以獲取其 SKU。

$product = new WC_Product_Variation($variation_id);
$product->get_sku();

以下代碼可用于獲取產(chǎn)品的變體。然后,將結(jié)果轉(zhuǎn)換為變體 ID,然后在上述代碼中使用該變體 ID 來獲取結(jié)果。

$variations = $product->get_available_variations();


查看完整回答
反對 回復(fù) 2022-09-25
?
GCT1015

TA貢獻(xiàn)1827條經(jīng)驗(yàn) 獲得超4個贊

您需要使用 。get_available_variations();


add_shortcode( 'product_sku_div', 'wc_product_sku_div'); 

function wc_product_sku_div() { 

    global $product;


    $variants_array = $product->get_available_variations();


    for ($i = 0; $i <  count($variants_array); $i++ ) {

        return sprintf( '<div class="widget" sp-sku="%s"></div>', $variants_array[$i]['sku'] );

    }

}

參考:


get_available_variations() ~ https://docs.woocommerce.com/wc-apidocs/class-WC_Product_Variable.html



查看完整回答
反對 回復(fù) 2022-09-25
  • 3 回答
  • 0 關(guān)注
  • 117 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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