簡體   English   中英

Woocommerce通過sku獲取並顯示產品ID

[英]Woocommerce get and display product id by sku

我正在嘗試找到一種從當前產品SKU中獲取產品ID並通過簡碼顯示它的方法。 到目前為止,我來了,但是由於某種原因,我正在使用的這段代碼沒有獲得正確的ID,並且我無法弄清楚為什么,因為我在php中不太好。

解決:

function get_product_id_by_sku_fc( $atts ){
 global $product;

 $atts = shortcode_atts( array(
         'sku'  =>  '',
     ), $atts );

 $product_id = null;
 // get product ID out of the defined SKU in the shortcode [get_product_id_by_sku sku="SKU"]
 if (!empty( $atts['sku'] ) ) {
 $product_id = wc_get_product_id_by_sku( $atts['sku'] );
 $product = wc_get_product( $product_id );
 } else {
   //get product ID out of the current_product sku, shortcode [get_product_id_by_sku]
   $sku = $product->get_sku();
   $product_id = wc_get_product_id_by_sku( $sku );
   $product = wc_get_product( $product_id );

 }
 return $product_id;
}
add_shortcode( 'get_product_id_by_sku', 'get_product_id_by_sku_fc');

謝謝大家的幫助!

PS:如果您與該功能有沖突,則只需自定義功能名稱和簡碼名稱即可。

您需要先定義$ sku才能使用它。 假設您的簡碼看起來像這樣:

[getpid sku="product-1"]

您應該這樣做:

function getproductbysku( $atts ){
    $product_id = null; //or whatever you want to default to.
    if(!empty($atts['sku'])){
        $product_id = wc_get_product_id_by_sku( $atts['sku'] );
    }
    return $product_id;
}
add_shortcode( 'getpid', 'getproductbysku');

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM